Pagini recente » Cod sursa (job #2916975) | Cod sursa (job #938603) | Cod sursa (job #1272055) | Cod sursa (job #1232126) | Cod sursa (job #2569101)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
long long n, x, k, s, nr, c, y, z;
long long j, i;
short fr[1000001];
int v[80000];
int main()
{
fin >> n;
fr[0] = 1; fr[1] = 1;
for(i = 2; i <= 1000000; i++)
{
if(fr[i] == 0)
{
k++;
v[k] = i;
for(j = i * i; j <= 1000000; j += i)
fr[j] = 1;
}
}
for(k = 1; k <= n; k++)
{
fin >> x;
s = 1;
nr = 1;
i = 0;
while(v[i] * v[i] <= x && x > 1)
{
i++;
c = 0;
while(x % v[i] == 0)
{
x /= v[i];
c++;
}
nr = nr * (c+1);
y = 1;
for(j = 1; j <= c+1; j++)
y = y * v[i];
s = (s * (y - 1)/(v[i] - 1)) % 9973;
}
if (x > 1) {
nr *= 2;
s = (s * (x * x - 1)/(x - 1)) % 9973;
}
fout << nr<< " " << s << "\n";
}
return 0;
}