Pagini recente » Cod sursa (job #3033307) | Cod sursa (job #1781642) | Cod sursa (job #1350576) | Cod sursa (job #2220435) | Cod sursa (job #3256711)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
#define LL long long
#define MOD 9973
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int nrdiv;
LL sdivfinal;
void solve(LL x) {
LL d = 2;
nrdiv = 1;
LL sdiv1 = 1, sdiv2 = 1;
// scot factorii primi lui x
while (x > 1) {
int e = 0;
while (x % d == 0) {
e++;
x /= d;
}
if (e) {
nrdiv *= e + 1;
sdiv1 *= (LL)pow(d, e+1) - 1;
sdiv2 *= d - 1;
}
d++;
}
sdivfinal = (sdiv1 / sdiv2) % MOD;
}
int main() {
int t;
fin >> t;
LL x;
for (int i = 0; i < t; i++) {
fin >> x;
cout << x << ": ";
solve(x);
cout << nrdiv << " " << sdivfinal << endl;
fout << nrdiv << " " << sdivfinal << endl;
}
return 0;
}