Pagini recente » Cod sursa (job #2305485) | Cod sursa (job #1766778) | Cod sursa (job #2463715) | Cod sursa (job #2900649) | Cod sursa (job #2398575)
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
const long long N=1000000000000;
long long s;
long long n,a,x,pr[5364],p,e,rez,d;
long long putere(long long d,long long e)
{
int64_t p=1;
for(int i=1;i<=e;i++)
p*=d;
p--;
p/=(d-1);
return p;
}
int main()
{
pr[0]=pr[1]=1;
for(int i=4; i<=1000000; i+=2)
pr[i]=1;
for(int i=3; i<=1000; i+=2)
if(!pr[i])
for(int j=i*i; j<=1000000; j+=i)
pr[j]=1;
f>>n;
for(int i=1; i<=n; i++)
{
f>>x;
i=2;
while(pr[i]<x)
{
d=pr[i];
if(x%d==0&&pr[i]==0)
{
e=1;
while(x%d==0)
{
e++;
x/=d;
}
rez=rez*e;
e--;
p*=putere(d,e);
}
}
if(x>1)
{
rez*=2;
p*=(x*x-1)/(x-1);
}
g<<rez<<' '<<p<<'\n';
}
return 0;
}