Pagini recente » Cod sursa (job #2422960) | Cod sursa (job #1583157) | Cod sursa (job #699827) | Cod sursa (job #1549362) | Cod sursa (job #751723)
Cod sursa(job #751723)
#include<stdio.h>
#include<stdlib.h>
int ciur[17],N;
void ciuruieste()
{
int i,j;
for(i=2;i<N;++i)
for(j=i+i;j<=N;j+=i)
ciur[j]=1;
}
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;
ciuruieste();
for(i=3;i<N;i+=2)
for(j=i+2;j<=N;j+=2)
if(ciur[j]==0 || ciur[i]==0)
count+=2;
fprintf(g,"%i",count);
return 0;
}