Cod sursa(job #913483)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 13 martie 2013 16:28:43
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define nmax 1000100
#define Prime(x) (Phi[x]==x)
using namespace std;

int N,Phi[nmax];
long long Answer;

void solve() {

    int i,j;

    for(i=1;i<=N;Phi[i]=i++);

    for(i=2;i<=N;i++)
        if(Prime(i))
            for(j=i;j<=N;j+=i)
                Phi[j]=Phi[j]/i*(i-1);

    for(i=2;i<=N;i++)
        Answer+=Phi[i];

    Answer=1+(Answer<<1);

}
void read() {

    ifstream in("fractii.in");
    in>>N;
    in.close();

}
void write() {

    ofstream out("fractii.out");
    out<<Answer<<'\n';
    out.close();

}
int main() {

    read();
    solve();
    write();

    return 0;

}