Cod sursa(job #1145329)
Utilizator | Data | 18 martie 2014 09:31:10 | |
---|---|---|---|
Problema | Fractii | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <stdio.h>
int cmmdc(int a,int b)
{
if(a%b==0) return b;
if(b%a==0) return a;
return cmmdc(a%b,b%a);
}
using namespace std;
int main()
{
FILE *fin,*fout;
fin=fopen("fractii.in","r");
fout=fopen("fractii.out","w");
long int n;
fscanf(fin,"%li",&n);
long int a[n+1];
a[1]=1;
for(int i=2;i<=n;i++)
{
a[i]=a[i-1]+2;
for(int j=2;j<i;j++)
{
if(cmmdc(i,j)==1) a[i]+=2;
}
}
fprintf(fout,"%li",a[n]);
}