Pagini recente » Cod sursa (job #3143974) | Cod sursa (job #567994) | Cod sursa (job #2770175) | Cod sursa (job #2667587) | Cod sursa (job #42961)
Cod sursa(job #42961)
#include<stdio.h>
#include<math.h>
long v[500000],k;
int tot(long n)
{
long i;
long s=1;
s=n;
i=1;
while (v[i]<=n&&i<=k)
{
if (n%v[i]==0) s=s-s/v[i];
i++;}
return s;}
int main()
{long nr,n,i,sol=0;
FILE*f=fopen("fractii.in","r");
FILE*g=fopen("fractii.out","w");
fscanf(f,"%ld",&n);
for (i=3;i<=n;i=i+2)
{k=2;
while (k<=n) {v[i*k]=1; k++;} }
k=1; v[1]=2;
for (i=3;i<=n;i=i+2) if (v[i]!=1) {k++;v[k]=i;}
sol=1;
for (i=2;i<=n;i++) sol+=2*tot(i);
fprintf(g,"%ld",sol);
fclose(f);
fclose(g);
return 0;}