Cod sursa(job #37051)
Utilizator | Ionescu Robert Marius Robytzza | Data | 24 martie 2007 15:37:47 |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<fstream.h>
int main(){
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long int N;
fin>>N;
long int x;
long long nr=N;
for (long i=2;i<=N;i++){
x=i;
if (x%2==0){
nr+=N-N/2;
while (x%2==0)
x/=2; }
for (long int d=3;d<=x;d+=2)
if (x%d==0){
nr+=N-N/d;
while (x%d==0)
x/=d;} }
fout<<nr;
fin.close();
fout.close();
return 0;
}