Pagini recente » Cod sursa (job #161993) | Cod sursa (job #3209576) | Cod sursa (job #3214381) | Cod sursa (job #303193) | Cod sursa (job #3263803)
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int main()
{
int t,n;
fin>>t;
for(int i=1;i<=t;i++){
fin>>n;
int nrdiv=1;///produs de termeni
long long sdiv=1;///produs de termeni
for(int d=2;d*d<=n;d++){
if(n%d==0){///d=dvizor prim
int p=0;///puterea divizorului
long long x=1;
while(n%d==0){
p++;
x=x*d;
n=n/d;
}
nrdiv=nrdiv*(p+1);
x=x*d; ///x=d la puterea (p+1)
sdiv=sdiv*(x-1)/(d-1);
}
}
if(n>1){
nrdiv=nrdiv*2;
sdiv=sdiv*(n*n-1)/(n-1);
}
fout<<nrdiv<<" "<<sdiv<<'\n';
}
return 0;
}