Cod sursa(job #1007444)

Utilizator lupuflaviu9lupuflaviu lupuflaviu9 Data 8 octombrie 2013 22:07:08
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
typedef long long i64;
const int nmax= 1000000;
int phi[nmax+1];
 int main()
{
    int n;
    fin>>n;
 
    for ( int i= 1; i<=n; ++i ) {
        phi[i]= i; 
    }
 
    i64 sol= 1;
    for ( int i= 2; i<=n; ++i ) {
        if ( phi[i]==i ) {
            for ( int j= i; j<=n; j+= i ) {
                phi[j]= phi[j]/i*(i-1);
            }
        }
        sol+= 2*phi[i];
    }
 
    fout<<sol;
     
    return 0;
}