Cod sursa(job #2216050)

Utilizator flospeedMedan Florin flospeed Data 24 iunie 2018 20:08:50
Problema Sum Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
int e[100001];
void euler(int n)
{
    for(int i=2; i<=n; i++)
        e[i]=i;
    for(int i=2; i<=n; i++)
        if(e[i]==i)
            for(int j=i;j<=n;j+=i)
            {
                e[j]=e[j]/i*(i-1);
            }
    }
int main()
{
    int n;
    FILE *f=fopen("sum.in","r");
    FILE *g=fopen("sum.out","w");
    fscanf(f,"%d",&n);
    euler(100001);
    for(int i=1;i<=n;i++)
    {
        int nr;
        fscanf(f,"%d",&nr);
        fprintf(g,"%d\n",nr*2LL*e[nr]);
    }
    return 0;
}