Cod sursa(job #538814)
| Utilizator | Data | 21 februarie 2011 22:14:08 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<fstream>
#include<cstdio>
#define MaxN 1000000
using namespace std;
ifstream f ("fractii.in");
ofstream g ("fractii.out");
int n,v[MaxN];
long long int rez = 0;
int main(void)
{
f >> n;
int i,j;
for( i = 1 ; i <= n ; i++ )
v[i] = i;
for( i = 1 ; i <= n ; i++ )
if( v[i] == i )
for( j = i ; j <= n ; j += i )
v[j] = v[j]/i*(i-1);
for( i = 1 ; i <= n ; i++ )
rez += v[i];
g << rez*2 - 1 << '\n';
f.close();
g.close();
return 0;
}
