Cod sursa(job #214505)
| Utilizator | Data | 14 octombrie 2008 21:27:28 | |
|---|---|---|---|
| Problema | Sum | Scor | 50 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <stdio.h>
int n,i;
long long sum;
long cmmdc(long a, long b)
{
return (!b?a:cmmdc(b,a%b));
}
int main()
{
int T;
freopen("sum.in","rt",stdin);
freopen("sum.out","wt",stdout);
char ch[10];
long x,j;
gets(ch);
T=j=0;
while (ch[j])
{
T=T*10+ch[j]-'0';
j++;
}
while (T--)
{
gets(ch);
n=j=0;
while (ch[j])
{
n=n*10+ch[j]-'0';
j++;
}
sum=1;
for (i=2;i<=2*n;++i)
if (cmmdc(i,n)==1) sum+=i;
printf("%lld\n",sum);
}
return 0;
}
