Cod sursa(job #1981502)

Utilizator NToniBoSSNicolae Tonitza NToniBoSS Data 15 mai 2017 21:27:58
Problema Fractii Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <stdlib.h>
int ciur[1000001];
int main()
{
    int i,j,n,cj;
    long long sum;
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    scanf("%d",&n);
    for(i=2; i<=n; i++)
        if(ciur[i]==0){
            for(j=2*i; j<=n; j+=i){
                cj=j;
                if(ciur[j]==0) ciur[j]=1;
                while(cj>1 && cj%i==0)
                    cj/=i,ciur[j]*=i;
                ciur[j]/=i;
                ciur[j]*=(i-1);
            }
            ciur[i]=i-1;
        }
    sum=1;
    for(i=2; i<=n; i++)
        sum+=ciur[i]*2;
    printf("%lld\n",sum);

    return 0;
}