Pagini recente » Cod sursa (job #3170395) | Cod sursa (job #789135) | Cod sursa (job #2589527) | Cod sursa (job #539378) | Cod sursa (job #1917911)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
ifstream f("ssnd.in"); ofstream g("ssnd.out");
long long j,n,y,x,i,nr; int p[100010],e[100010]; int c[1000010];
f>>n;
for(i=2;i<=1000005;i++) c[i]=1;
for(i=2;i<=1000005;i++)
{
if (c[i]==1)
{for(j=i*2;j<=1000005;j+=i)
{
c[j]=0;
}}
}
for(i=1;i<=n;i++)
{
f>>x;
nr=0;
if (c[x]) {nr=1; p[1]=x; e[1]=1;}
y=sqrt(x);
for(j=2;j<=y;j++)
{
if (c[j]) {if (x%j==0)
{
nr++; p[nr]=j;
x=x/j;
e[nr]=1;
while(x%j==0) {e[nr]++; x=x/j;}
}
}
}
x=1;
y=1;
for(j=1;j<=nr;j++)
{
x=x*(e[j]+1);
y=y*(((int)(pow(p[j],e[j]+1))-1)/(p[j]-1));
}
g<<x<<' '<<y<<'\n';
}
return 0;
}