Pagini recente » Cod sursa (job #2449146) | Cod sursa (job #1417495) | Cod sursa (job #1542338) | Cod sursa (job #1829361) | Cod sursa (job #2227275)
#include <fstream>
using namespace std;
bool c[1000003];
int prime[78500];
int main() {
ifstream cin ("ssnd.in");
ofstream cout ("ssnd.out");
int i, j, nrp;
nrp = 0;
for (i = 2; i <= 1000000; i++) {
if (c[i] == 0) {
for (j = 2 * i; j <= 1000000; j += i)
c[j] = 1;
prime[nrp++] = i;
}
}
int n;
long long x, nrdiv, nrdivp, s, p, sumdiv;
cin >> n;
for (i = 0; i < n; i++) {
cin >> x;
j = 0;
nrdiv = 1;
sumdiv = 1;
while (j < nrp && x > 1 && prime[j] <= x) {
nrdivp = 0;
s = 1;
p = 1;
while (x % prime[j] == 0) {
x /= prime[j];
nrdivp++;
p = p * prime[j] % 9973;
s = (s + p) % 9973;
}
if (nrdivp != 0) {
nrdiv *= (nrdivp + 1);
sumdiv = sumdiv * s % 9973;
}
j++;
}
if (x > 1) {
nrdiv *= 2;
sumdiv = sumdiv * (x + 1) % 9973;
}
cout << nrdiv << ' ' << sumdiv << '\n';
}
return 0;
}