Cod sursa(job #806363)
Utilizator | Data | 2 noiembrie 2012 17:43:08 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
#include <iostream>
using namespace std;
long n;
unsigned long long s=0;
long phi[1000001];
void cit()
{
ifstream f;
f.open("fractii.in");
f>>n;
f.close();
}
int main()
{
cit();
for (long i=2;i<=n;++i)
phi[i]=i-1;
for (long i=2;i<=n;++i)
{
s+=phi[i];
for (long j=2*i;j<=n;j+=i)
phi[j]-=phi[i];
}
ofstream g;
g.open("fractii.out");
g<<2*s+1<<"\n";
g.close();
return 0;
}