Cod sursa(job #705599)
| Utilizator | Data | 4 martie 2012 17:32:48 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include<stdio.h>
long prime(long x,long y)
{
if(!y) return x;
return prime(y,x%y);
}
int main()
{
FILE *fin,*fout;
long n,i,j,s=0;
int v[1000001];
fin=fopen("fractii.in","rt");
fscanf(fin,"%ld",&n);
fclose(fin);
/* s+=2*n-1;
for(i=2;i<=n;i++)
for(j=i+1;j<=n;j++)
if(prime(i,j)==1) s+=2;*/
for (i=1;i<=n;++i)
v[i]=i-1;
for (i=2;i<=n;++i)
{
s+=v[i];
for (j=2*i;j<=n;j+=i)
v[j]-=v[i];
}
s=s*2+1;
fout=fopen("fractii.out","wt");
fprintf(fout,"%ld",s);
fclose(fout);
return 0;
}
