Pagini recente » Cod sursa (job #1966151) | Cod sursa (job #2890603) | Cod sursa (job #1935474) | Cod sursa (job #1673996) | Cod sursa (job #544807)
Cod sursa(job #544807)
#include <fstream>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
bool ciur[1000005];
int n,t,i,j,nd,sd,p,q;
int main()
{
for(i=2;i<=1000000;i++)
if(ciur[i]==false)
for(j=i<<1;j<=1000000;j+=i)
ciur[j]=true;
for(in>>t;t>0;t--)
{
sd=nd=1;
in>>n;
if(n%2==0)
{
p=0;
q=1;
while(n%2==0)
p++,n/=2,q*=2;
nd*=(p+1);
sd*=(q*2-1);
}
for(i=3;i<=n;i+=2)
if(ciur[i]==false&&n%i==0)
{
p=0;
q=1;
while(n%i==0)
p++,n/=i,q*=i;
nd*=(p+1);
sd*=(q*i-1)/(i-1);
}
out<<nd<<' '<<sd<<'\n';
}
return 0;
}