Cod sursa(job #1484519)
Utilizator | Data | 11 septembrie 2015 13:05:37 | |
---|---|---|---|
Problema | Sum | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include<stdio.h>
int v[100001],t,x,i,j;
int main() {
freopen("sum.in","r",stdin),freopen("sum.out","w",stdout),scanf("%d",&t);
for(i=1;i<100001;i++)
v[i]=i;
for(j=2;j<100001;j+=2)
v[j]/=2;
for(i=3;i<100001;i+=2)
if(v[i]==i)
for(j=i;j<100001;j+=i)
v[j]=v[j]/i*(i-1);
while(t--)
scanf("%d",&x),printf("%lld\n",1LL*v[x]*x*2);
}