Cod sursa(job #42901)
| Utilizator | Data | 29 martie 2007 16:51:13 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.4 kb |
#include<stdio.h>
#include<math.h>
int tot(long n)
{
long k,r;
long s=1;
k=2; s=n;
while(n!=1)
{r=0;
while(n%k==0) {n=n/k;r++;}
if(r!=0) s=s-s/k;
k++;}
return s;}
int main()
{long n,i,sol=0;
FILE*f=fopen("fractii.in","r");
FILE*g=fopen("fractii.out","w");
fscanf(f,"%ld",&n);
sol=1;
for (i=2;i<=n;i++) sol+=2*tot(i);
fprintf(g,"%ld",sol);
fclose(f);
fclose(g);
return 0;}
