Cod sursa(job #2464684)
| Utilizator | Data | 28 septembrie 2019 19:24:02 | |
|---|---|---|---|
| Problema | Fractii | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 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 main()
{ int t=0,i;
fscanf(f,"%d",&n);
fprintf(g,"%d",nrp(n));
return 0;
}
