Pagini recente » Cod sursa (job #2883610) | Cod sursa (job #2639273) | Cod sursa (job #2150002) | Cod sursa (job #688907) | Cod sursa (job #1928600)
#include<cstdio>
#include<cmath>
using namespace std;
inline long long my_pow(int b,int e)
{
long long rez=1;
for(int i=1; i<=e; ++i)
rez*=b;
return rez;
}
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
int t,lim,n,e;
long long s,d,nrd;
scanf("%d",&t);
for(int i=1; i<=t; i++)
{
scanf("%d",&n);
lim=(int)sqrt((double)n);
s=1;
d=2;
nrd=1;
while(n>1 && d<=lim)
{
e=0;
while(n>0 && n%d==0)
{
n=n/d;
e++;
}
nrd*=(e+1);
if(e)
s*=1LL*(my_pow(d,e+1)-1)/(d-1);
d++;
}
if(n>1)
{
nrd*=2;
s*=1LL*(n*n-1)/(n-1);
}
printf("%lld %lld\n",nrd,s);
}
return 0;
}