Cod sursa(job #572651)
| Utilizator | Data | 5 aprilie 2011 15:10:39 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <fstream>
#include <cstdlib>
#define N_MAX 1000011
using namespace std;
int phi[N_MAX];
int main( void )
{
int N, i, j;
long long int k=1;
ifstream in( "fractii.in" );
in>>N;
for( i=1; i <= N; ++i )
phi[i]=i;
for( i=2; i <= N; ++i )
{
if( i == phi[i] )
{
for( j=i; j <= N; j+=i )
phi[j]=(phi[j]/i)*(i-1);
}
k+=phi[i];
}
ofstream out( "fractii.out" );
out<<(2*k-1)<<'\n';
return EXIT_SUCCESS;
}