Cod sursa(job #35665)
| Utilizator | Data | 22 martie 2007 11:58:04 | |
|---|---|---|---|
| Problema | Sum | Scor | 45 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream.h>
unsigned long int n, i, j;
unsigned long int x;
unsigned long int nr;
int cmmdc(int, int);
int main()
{
ifstream fin("sum.in");
ofstream fout("sum.out");
fin >> n;
for (i = 0; i < n; i++)
{
fin >> x;
nr = 0;
for (j = 1; j <= 2*x;j++)
{
if (x %j == 0)
continue;
else
if (cmmdc(j, x) == 1)
nr += j;
}
fout << nr+1 << "\n";
}
fin.close();
fout.close();
return 0;
}
int cmmdc(int a, int b)
{
int r;
while (a %b)
{
r = a %b;
a = b;
b = r;
}
return b;
}