Cod sursa(job #2345690)

Utilizator HunterTIFecheta Virgil-Vicentiu HunterTI Data 16 februarie 2019 16:39:38
Problema Fractii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long int prim[1000005],N=4;

int cmmdc(int x,int y)
{
    while(x!=y)
    {
        if(x>y)
            x=x-y;
        else
            y=y-x;
    }
    return x;
}

int euler(long int x)
{
    int i,s=0;
    for(i=1;i<=N;i++)
        if(cmmdc(i,x)==1)
            s++;
    return s;
}

int erastostene()
{
    long int i,j;
    for(i=2;i<=N;i++)
        if(prim[i]==0)
            for(j=2;j*i<=N;j++)
                prim[j*i]=1;
}

int main()
{
    long int i,s;
    fin>>N;
    s=N;
    erastostene();
    for(i=2;i<=N;i++)
        s=s+euler(i);
    fout<<s;
    fin.close();
    fout.close();
}