Cod sursa(job #705598)
Utilizator | Data | 4 martie 2012 17:32:21 | |
---|---|---|---|
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[100001];
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;
}