Cod sursa(job #2464704)

Utilizator DanDumitrescudarkeagle DanDumitrescu Data 28 septembrie 2019 20:05:47
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include<cstdio>
FILE * f=fopen("fractii.in","r");
FILE * g=fopen("fractii.out","w");
using namespace std;
int n;
int gcd(int x,int y)
{
    if(x==y)
        return x;

        if(x>y)
            return gcd(x-y,y);

          return   gcd(x,y-x);

}
int nrp(int k)
{ int i,s=0;
    if(k==1)
return 1;
    else
{

    for(i=1;i<=k;i++)
    {
        if(gcd(k,i)==1)
            s++;
    }
    return nrp(k-1)+2*s;
}
}
int phi[1000000];
int main()
{  int t=0,i;
fscanf(f,"%d",&n);

for (int i = 1; i <= n; ++i)
    phi[i] = i-1;
for (int i = 2; i <= n; ++i)
    for (int j = 2*i; j <= n; j += i)
        phi[j] -= phi[i];
        for(i=1;i<=n;i++)
           t=t+2*phi[i];
        fprintf(g,"%d",t+1);

return 0;
}