Pagini recente » Cod sursa (job #377677) | Cod sursa (job #2078533) | Cod sursa (job #324820) | Cod sursa (job #361193) | Cod sursa (job #1160175)
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int t, a, nrd, suma;
int putere(int x, int y)
{
int n=x;
int rez=1;
for(int i=0; 1<<i<=y; i++){
if((1<<i) & y){
rez*=n;
}
n = n*n;
}
return rez;
}
void diviz(int a)
{
nrd = 1; suma = 1;
int d=2, e=0;
while(a%d==0){
a/=d;
e++;
}
nrd *= (e+1);
suma*= ((putere(d, e+1)-1)/(d-1));
suma%=9973;
for(d=3; d*d<=a; d+=2){
e = 0;
while(a%d==0){
a/=d;
e++;
}
if(e){
nrd *= (e+1);
suma*= ((putere(d, e+1)-1)/(d-1));
suma%=9973;
}
}
if(a!=1){
nrd *= 2;
suma*= (a*a-1)/(a-1);
suma%=9973;
}
printf("%d %d\n", nrd, suma);
}
int main()
{
freopen("ssnd.in", "r", stdin);
freopen("ssnd.out", "w", stdout);
scanf("%d", &t);
for(int i=0; i<t; i++){
scanf("%d ", &a);
diviz(a);
}
return 0;
}