Pagini recente » Cod sursa (job #316543) | Cod sursa (job #2716991) | Cod sursa (job #705520) | Cod sursa (job #2751075) | Cod sursa (job #1990099)
#include <bits/stdc++.h>
#define tip long long
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int k,t,i,e,nd;
bitset<1000010> B;
tip p[80000],n,sd,s,u;
void ciur();
int main()
{
ciur();
f>>t;
for(; t; t--)
{
f>>n;
sd=1;
nd=1;
for(i=1; i<=k&&p[i]*p[i]<=n; i++)
if(n%p[i]==0)
{
e=1;
u=1;
s=1;
for(; n%p[i]==0; n/=p[i])
{
e++;
u*=p[i];
s+=u;
}
sd*=s;
nd*=e;
}
if(n>1)
sd*=n+1,nd*=2;
g<<sd<<' '<<nd<<'\n';
}
return 0;
}
void ciur()
{
int i,j;
p[++k]=2;
for(i=3; i<=999; i+=2)
if(!B[i])
{
p[++k]=i;
for(j=i*i; j<=1000000; j+=2*i)
B[j]=1;
}
for(; i<=1000000; i+=2)
if(!B[i])
p[++k]=i;
}