Pagini recente » Cod sursa (job #2762998) | Cod sursa (job #2527270) | Cod sursa (job #2760162) | Cod sursa (job #699756) | Cod sursa (job #1975606)
#include <fstream>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
int k, t, nr, nr_div, prod = 1, s = 1;
int divizor;
unsigned long long n;
int OK[1000000], p[1000000];
int putere (int a, int b)
{
int w = 1;
while (b)
{
w = w * a;
b--;
}
return w;
}
int main()
{
for (int i = 2; i <= 1000000; i++)
{
if (OK[i] == 0)
{
for (unsigned long long j = i * i; j <= 1000000; j = j + i)
OK[j] = 1;
k++;
p[k] = i;
}
}
in >> t;
k = 1;
for (int i = 1; i <= t; i++)
{
in >> n;
while (n != 1)
{
if (n % p[k] == 0)
{
nr++;
divizor = p[k];
while (n % p[k] == 0)
{
nr_div++;
n = n / p[k];
}
prod = prod * (nr_div + 1);
k++;
s = (s * (putere(divizor, nr_div + 1) - 1) / (divizor - 1)) % 9973;
nr_div = 0;
}
else
k++;
}
out << prod << ' ' << s << '\n';
nr = 0;
k = 1;
nr_div = 0;
prod = 1;
s = 1;
}
return 0;
}