Cod sursa(job #1011764)

Utilizator teodor98Teodor Sz teodor98 Data 17 octombrie 2013 14:15:56
Problema Fractii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdlib.h>
#include <stdio.h>
void phi(unsigned long *phi,unsigned long n)
{
for (unsigned long i=1;i<=n;i++) phi[i]=i;

for (unsigned long i=2;i<=n;i++)
   if (phi[i]==i)
      for (unsigned long j=i;j<=n;j+=i) phi[j] /=i, phi[j] *= (i-1);
}

int main()
{
    unsigned long n,sum, *v;
    freopen("fractii.in", "rt", stdin);
    freopen("fractii.out", "wt", stdout);

    scanf("%lu", &n);
    sum = 1;
    v = (unsigned long *)malloc(n*sizeof(unsigned long));
    phi(v,n);
    for(unsigned long i=2;i<=n;i++)
        sum += v[i] *2;
    printf("%lu", sum);
    return 0;
}