Pagini recente » Cod sursa (job #2437560) | Cod sursa (job #1570964) | Cod sursa (job #1753459) | Profil bodyionita | Cod sursa (job #173032)
Cod sursa(job #173032)
#include<stdio.h>
#include<math.h>
FILE *f1,*f2;
int main()
{long unsigned n,k=3,i,j,x,np[200],fi,c=0,ok;
f1=fopen("fractii.in","r");
fscanf(f1,"%lu\n",&n);np[c++]=2;
fclose(f1);
for(i=3;i<=n;i++)
{fi=i;
x=i;
j=0; //parcurgere np
ok=0;//daca i are un divizor prim sau
//nu
while((np[j]<=x/2)&&(j<c))
{if(x%np[j]==0) //cauta divizorii primi ai lui x
{ok=1;fi=fi/np[j]*(np[j]-1);}
j++;}
if(!ok)
{np[c++]=i;fi=i-1;}
k=k+2*fi;//numara nr de fractii ireductibile pana la i
}
f2=fopen("fractii.out","w");
fprintf(f2,"%lu",k);
fprintf(f2,"\n");
fclose(f2);
return 0;}