Cod sursa(job #1910434)

Utilizator alexmihaitTuliga Mihai Alexandru alexmihait Data 7 martie 2017 16:56:23
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
using namespace std;

long long phi[1000001];
int v[1000001];
int main()
{
    freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
    int n,i,j,lim=0;
    long long r=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
     scanf("%d",&v[i]);
     if(v[i]>lim)
      lim=v[i];
    }
    for(i=1;i<=lim;i++)
     phi[i]=i;
    for(i=2;i<=lim;i++)
     if(phi[i]==i)
      for(j=i;j<=lim;j+=i)
      {
       phi[j]/=i;
       phi[j]*=(i-1);
      }
      for(i=1;i<=n;i++)
      {
       r=v[i]*2*phi[v[i]];
       printf("%lld\n",r);
      }
    return 0;
}