Pagini recente » Cod sursa (job #95183) | Rating Domnisoru Andreea Simona (issuk) | Cod sursa (job #453470) | Cod sursa (job #708265) | Cod sursa (job #1790460)
#include <cstdio>
using namespace std;
int exp(int y,int x)
{
int nr=0;
while(x%y==0)
{
nr++;
x/=y;
}
return nr;
}
int put(int n,int x)
{
int p=1;
for(int i=1; i<=x; i++)
p=p*n;
return p;
}
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
int prim,p,s,cp,j,a,b,x,nrdiv,n,i;
scanf("%d",&n);
for(i=1;i<=n;++i){
scanf("%d",&x);
prim=1;
p=1;
s=1;
cp=x;
nrdiv=1;
for(j=2; j*j<=x; j++)
if(cp%j==0)
{
prim=0;
a=exp(j,x);
nrdiv=nrdiv*(a+1);
if(a%2!=0 && a%3!=0)
p=0;
b=put(j,a);
s=s*(b*j-1)/(j-1);
cp=cp/b;
}
if(cp>1)
{
s=cp+1;
nrdiv=2;
}
printf("%d %d\n",nrdiv,s);}
return 0;
}