Pagini recente » Cod sursa (job #3275560) | Cod sursa (job #1605920) | Cod sursa (job #1451723) | Cod sursa (job #2088163) | Cod sursa (job #1375911)
#include <fstream>
#include <cmath>
#define NMAX 1000000
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
long long k,x,cx,n;
bool q[NMAX+10];
int ciur[NMAX],i,j,cntciur=0;
int main()
{
in>>n;
q[1]=1;
for(i=2;i*i<=NMAX;i++)
{
if(q[i]==0)
{
for(j=i*i;j<=NMAX;j+=i)
{
q[j]=1;
}
}
}
for(i=1;i<=NMAX;i++)
{
if(q[i]==0)
{
cntciur++;
ciur[cntciur]=i;
}
}
for(k=1;k<=n;k++)
{
in>>x;
long long cx=x,prod2=1,prod=1,nr=1;
while(cx!=1)
{
int put=0;
while(cx%ciur[nr]==0)
{
++put;
cx=cx/ciur[nr];
}
prod=prod*(pow(ciur[nr],put+1)-1)/(ciur[nr]-1);
prod2=prod2*(put+1);
nr++;
}
out<<prod2<<" "<<prod<<'\n';
}
in.close();
out.close();
return 0;
}