Pagini recente » Cod sursa (job #2513170) | Cod sursa (job #2837417) | Cod sursa (job #585310) | Cod sursa (job #1995102) | Cod sursa (job #1919934)
#include <iostream>
#include <fstream>
using namespace std;
const int mmm=1000005;
bool c[mmm];
int main()
{
ifstream f("ssnd.in"); ofstream g("ssnd.out");
int i,x,y,z,l,j,n,nr; int p[6000]; int e[6000];
f>>n;
for(i=2;i<mmm;i++)
{
c[i]=1;
}
for(i=2;i<mmm;i++)
{
if (c[i])
{
for(j=i*2;j<mmm;j+=i)
{
c[j]=0;
}
}
}
for(i=1;i<=n;i++)
{
f>>x;
y=x/2;
nr=0;
if (c[x]) {nr=1; e[1]=1; p[1]=x; }
for(j=2;j<=y;j++)
{
if (x%j==0)
{
nr++;
p[nr]=j;
e[nr]=1;
x/=j;
while(x%j==0)
{
e[nr]++;
x/=j;
}
if (x==1) break;
}
}
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];}
z=z-1;
z=z/(p[j]-1);
y=y*z;
}
g<<x<<' '<<y<<'\n';
}
return 0;
}