Cod sursa(job #21821)
| Utilizator | Data | 24 februarie 2007 15:13:14 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<fstream>
using namespace std;
long long ciur[1000000];
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int main()
{
long long N;
long long rezultat=0;
fin>>N;
for(long long a=1;a<=N;a++)
ciur[a]=a;
for(long long a=2;a<=N;a++)
if(ciur[a]==a)
{
long long j=1;
while(a*j<=N)
{
ciur[a*j]=ciur[a*j]*(a-1)/a;
j++;
}
}
for(long long a=2;a<=N;a++)
rezultat+=ciur[a];
rezultat*=2;rezultat++;
fout<<rezultat;
return 0;
}
