Pagini recente » Cod sursa (job #98832) | civilizatie | Cod sursa (job #1049244) | Cod sursa (job #2273161) | Cod sursa (job #2201254)
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
#define MOD 9973
vector<int> v;
void ciur() {
int *a = (int *)calloc(1000000, sizeof(int));
int i, j;
v.push_back(2);
int l = 1000;
for(i = 3; i <= l; i += 2)
if (!a[i]) {
v.push_back(i);
for (j = i * i; j < 1000000; j += i)
a[j] = 1;
}
for (i = l + 1; i < 1000000; i += 2)
if (!a[i])
v.push_back(i);
}
int main() {
long long nrd, sd, p, put, t, n, i;
f >> t;
ciur();
int len = v.size();
for (i = 1; i <= t; ++i) {
f >> n;
if (n == 1) {
nrd = 1;
sd = 1;
} else {
nrd = 1;
sd = 1;
for (i = 0; i < len; ++i)
if (n % v[i] == 0) {
n /= v[i];
p = 1;
put = v[i] * v[i];
while (n % v[i] == 0) {
n /= v[i];
++p;
put *= v[i];
}
nrd *= (p + 1);
nrd %= MOD;
sd *= (put - 1) / (v[i] - 1);
sd %= MOD;
if (n == 1)
break;
}
}
g << nrd << ' ' << sd << '\n';
}
return 0;
}