Cod sursa(job #150349)
Utilizator | Data | 6 martie 2008 21:10:40 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include <stdio.h>
FILE *f=fopen("fractii.in","r"),*g=fopen("fractii.out","w");
long a[1000000],n,i,j,x,s;
int main()
{
fscanf(f,"%ld",&n);
for(i=2;i*i<=n;i++)
for(j=2;i*j<=n;j++)
a[j*i]=1;
for(i=n;i>=2;i--)
{
x=i;
for(j=2;j<=x;j++)
if(x%j==0 && a[j]!=1)
x-=x/j;
s+=x*2;
}
s+=1;
fprintf(g,"%ld",s);
fclose(g);
return 0;
}