Pagini recente » Rating Cosmin Onofre (cosminono) | Cod sursa (job #1234344) | christmas-balls | Monitorul de evaluare | Cod sursa (job #714049)
Cod sursa(job #714049)
#include<stdio.h>
long long i,k,j,t,g[100000];
char v[1000010];
unsigned long long n,r,S;
int xnr,xexp,nrdiv;
long long power(int a,int b)
{
long long pt=1;
for(j=1;j<=b;j++)
pt*=a;
return pt;
}
int main ()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d",&t);
{
for(j=2;j<=1000010;j++)
if(v[j]=='\0')
for(k=2;k<= 1000010/j;k++)
v[k*j]='1';
}
r=1;
for(i=2;i<=1000010;i++)
{
if(v[i]=='\0')
{g[r]=i; r++;}
}
for(i=1;i<=t;i++)
{
scanf("%lld",&n);
k=1;
r=0;
nrdiv=S=1;
while(g[k]*g[k]<=n)
{
if(n%g[k]==0)
{
r++;
xexp=0;
while(n%g[k]==0)
{
xexp++; n/=g[k]; }
xexp++;
nrdiv*=xexp;
S=((S%9973)*( ( power(g[k],xexp)-1 )/( g[k]-1 ) ))%9973;
}
else
k++;
}
if(n!=1)
{
nrdiv*=2;
S=((S%9973)*((n*n)-1)/(n-1))%9973;
}
printf("%d %lld\n",nrdiv,S);
}
return 0;
}