Cod sursa(job #227973)
Utilizator | Data | 5 decembrie 2008 23:30:08 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.35 kb |
#include<stdio.h>
FILE*f=fopen("fractii.in","r"),*g=fopen("fractii.out","w");
long long unsigned a[1000002],n,i,j,s;
int main()
{
fscanf(f,"%llu",&n);
for(i=2;i<=n;++i)
{if(a[i]==0)
{s+=i-1;
for(j=i;j<=n;j+=i)
if(a[j])a[j]-=a[j]/i;
else a[j]=j-j/i;
}
else s+=a[i];
}
fprintf(g,"%llu",s*2+1);
return 0;
}