Pagini recente » Cod sursa (job #2204706) | Cod sursa (job #1086064) | Cod sursa (job #1471531) | Cod sursa (job #2032046) | Cod sursa (job #751714)
Cod sursa(job #751714)
#include<stdio.h>
#include<stdlib.h>
int cmmdc(int a,int b)
{
int r;
while(a%b)
{
r=a%b;
a=b;
b=r;
}
return b;
}
int main()
{
int N,i,j,count=0;
FILE *f=fopen("fractii.in","rt");
FILE *g=fopen("fractii.out","wt");
fscanf(f,"%i",&N);
if(N==1)
{
fprintf(g,"1");
exit(0);
}
if(N==2)
{
fprintf(g,"3");
exit(0);
}
if(N==3)
{
fprintf(g,"7");
exit(0);
}
if(N==4)
{
fprintf(g,"11");
exit(0);
}
count+=2*N-1; ///fractiile 1/1,1/2,.....,1/N,N/1,..1
int nrp=N/2,nri;
if(N%2==0)
nri=N/2-1;
else nri=N/2;
count+=nrp*nri*2;
for(i=3;i<N;++i)
for(j=i+2;j<=N;++j)
if(cmmdc(i,j)==1)
count+=2;
fprintf(g,"%i",count);
return 0;
}