Pagini recente » Cod sursa (job #2442837) | Cod sursa (job #2959652) | Cod sursa (job #2583805) | Cod sursa (job #854477) | Cod sursa (job #1917968)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
ifstream f("ssnd.in"); ofstream g("ssnd.out");
long long l,j,n,y,x,i,z,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=x/2;
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;}
if (x==1) break;
}
}
}
// if (y*2==90) { for(i=1;i<=nr;i++) {g<<p[i]<<' '<<e[i]<<'\n';} g<<nr;}
//g<<'\n';
x=1;
y=1;
for(j=1;j<=nr;j++)
{
x=x*(e[j]+1);
z=1;
for (l=1;l<=e[j]+1;l++) z=z*p[j];
y=y* ((z-1)/(p[j]-1) );
// y=y*(((int)(pow(p[j],e[j]+1))-1)/(p[j]-1));
}
g<<x<<' '<<y<<'\n';
}
return 0;
}