Cod sursa(job #603545)
| Utilizator | Data | 17 iulie 2011 11:39:31 | |
|---|---|---|---|
| Problema | Fractii | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream.h>
int main()
{
long N, i, j, phi[1000001];
unsigned long S=1;
ifstream fin;
fin.open("fractii.in");
fin>>N;
fin.close();
for (i=1; i<=N; i++)
{
phi[i]=i;
}
for (i=2; i<=N; i++)
{
if (phi[i]==i)
{
for (j=i; j<=N; j+=i)
{
phi[j]/=i;
phi[j]*=(i-1);
}
}
}
for (i=2; i<=N; i++)
{
S+=2*phi[i];
}
ofstream fout;
fout.open("fractii.out");
fout<<S;
fout.close();
return 0;
}