Pagini recente » Cod sursa (job #2777314) | Cod sursa (job #1223992) | Cod sursa (job #1485158) | Cod sursa (job #672341) | Cod sursa (job #3259518)
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int ridicare(int a, int n) {
int rasp = 1;
while(n > 0) {
if(n % 2 == 1)
rasp = rasp * a;
a = a * a;
n /= 2;
}
return rasp;
}
const int MOD = 9973;
int main() {
int t, x, nr_div, sum_div, d, p, num;
f>>t;
for(int i = 1; i<=t; i++){
f>>x;
nr_div = 1;
sum_div = 1;
d = 2;
while(x>1){
if(x%d==0){
p = 0;
num = 1;
while(x%d==0){
p++;
x /= d;
}
nr_div *= (p+1);
sum_div = (sum_div*(ridicare(d, p+1)-1)/(d-1));
}
d++;
if(x>1 && d*d>x){
d=x;
}
}
g<<nr_div % MOD <<" "<<sum_div % MOD <<"\n";
}
return 0;
}