Cod sursa(job #1337091)
Utilizator | Data | 8 februarie 2015 16:23:31 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <iostream>
#include <fstream>
int fi[1000005];
using namespace std;
int main ()
{
long long int n,s;
ifstream fin ("fractii.in");
ofstream fout ("fractii.out");
fin >> n;
s=0;
for (int a=2;a<=n;a++){
fi[a]=a;
}
for (int i=2;i<=n;i++){
if (fi[i]==i){
for (int j=i;j<=n;j=j+i){
fi[j]=fi[j]*(i-1)/i;
}
}
s=s+fi[i];
}
fout << s*2+1;
return 0;
}