Pagini recente » Cod sursa (job #2113843) | Cod sursa (job #2094591) | Cod sursa (job #2876046) | Cod sursa (job #36417) | Cod sursa (job #1628330)
#include <cstdio>
long long nr_div, sum_div;
void desc (long long n)
{
nr_div = 1;
sum_div = 1;
long long e, d = 2, putere;
while (d * d <= n && n > 1)
{
e = 0;
putere = 1;
while (n % d == 0)
{
e++;
putere = putere * d;
n = n / d;
}
if (e)
{
nr_div = nr_div * 1LL * (e + 1);
sum_div = sum_div * 1LL * (putere * d - 1) / (d - 1);
}
d++;
}
if (n > 1)
{
nr_div = nr_div * 2;
sum_div = sum_div * 1LL * (n * n - 1) / (n - 1);
}
}
int main()
{
freopen("ssnd.in", "r", stdin);
freopen("ssnd.out", "w", stdout);
int t;
long long n;
scanf("%d", &t);
int i;
for (i = 1; i <= t; ++i)
{
scanf("%lld", &n);
desc(n);
printf("%lld %lld\n", nr_div, sum_div);
}
return 0;
}