Pagini recente » Cod sursa (job #48111) | Cod sursa (job #646658) | Cod sursa (job #2695391) | Cod sursa (job #373739) | Cod sursa (job #2032763)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long d,n,p,s,nr_divizori,x,m,t,i;
int main()
{
fin>>t;
for(i=1;i<=t;i++)
{
fin>>n;
d=2;
s=1;
nr_divizori=1;
m=n;
while(n>=d*d)
{
p=0;
x=1;
while(n%d==0)
{
p++;
n=n/d;
x=x*d;
}
nr_divizori=nr_divizori*(p+1);
s=s*((x*d-1)/(d-1));
if(p!=0) m=m/d*(d-1);
d++;
}
if(n>1)
{
nr_divizori=nr_divizori*2;
s=s*(n+1);
m=m*(n-1);
}
fout<<nr_divizori<<" "<<s<<"\n";
}
return 0;
}