Pagini recente » Borderou de evaluare (job #711167) | Borderou de evaluare (job #1492285) | Borderou de evaluare (job #2331858) | Borderou de evaluare (job #1012114) | Cod sursa (job #2129410)
#include <bits/stdc++.h>
using namespace std;
int main()
{
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int n,a,cnt,div;
unsigned long long int nr,s;
fin >> n;
for (int i = 0;i < n;i++)
{
fin >> a;
cnt = 0;
nr = 1;
s = 1;
div = 3;
while (a % 2 == 0)
{
cnt++;
a /= 2;
}
if (cnt > 0)
{
nr = cnt + 1;
s = pow (2, (cnt + 1));
s--;
}
s %= 9973;
while (div * div <= a && a > 1)
{
cnt = 0;
while (a % div == 0)
{
cnt++;
a /= div;
}
if (cnt > 0)
{
nr *= cnt + 1;
s *= (pow(div, (cnt + 1)) - 1);
s /= (div - 1);
s %= 9973;
}
div += 2;
}
if (a != 1)
{
nr *= 2;
s *= (a * a - 1);
s /= (a - 1);
s %= 9973;
}
fout << nr << " " << s << '\n';
}
return 0;
}