Pagini recente » Cod sursa (job #1565364) | Cod sursa (job #1473500) | Cod sursa (job #2768145) | Cod sursa (job #241477) | Cod sursa (job #2238131)
#include <bits/stdc++.h>
using namespace std;
vector <int> prime;
bitset <1000001> vf;
void ciur ()
{
for (int i = 2; i <= 1000000; i++)
{
if (!vf[i])
{
prime.push_back(i);
for (int j = i << 1; j <= 1000000; j+=i)
vf[j] = 1;
}
}
}
int main() {
ifstream inputFile("ssnd.in");
ofstream outputFile("ssnd.out");
ciur();
long long x;
int n;
inputFile >> n;
for (int i = 1; i <= n; i++)
{
inputFile >> x;
long long s = 1;
int p = 1;
for (auto y : prime)
{
int nr = 0;
long long power = 1;
if (1LL * y * y > x) break;
while ( x % y == 0)
{
x /= y;
nr++;
power *= y;
}
p*= (nr+1);
power *= y;
power -= 1;
s *= (power / (y - 1));
}
if (x != 1)
{
p <<= 1;
s *= (x + 1);
}
outputFile << p << " " << s % 9973 << "\n";
}
return 0;
}