Pagini recente » Cod sursa (job #1902136) | Cod sursa (job #2022627) | Cod sursa (job #81927) | Cod sursa (job #2778340) | Cod sursa (job #455981)
Cod sursa(job #455981)
#include<stdio.h>
int main()
{
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
long i,j,nr=0,v[1000005];
char prim[1000005];
for(i=2;i<=1000000;i++)
prim[i]=1;
for(i=2;i<=1000000;i++)
if (prim[i])
{
nr++;
v[nr]=i;
for(j=i+i;j<=1000000;j+=i)
prim[j]=0;
}
/* for(i=1;i<=nr;i++) printf("%i ",v[i]);
printf("\n");*/
int t;
long n,m,nd,s,c,p;
scanf("%i",&t);
for(;t;--t)
{
scanf("%li",&n);
if (prim[n])
{
nd=2;
s=n+1;
}
else
{
m=n;
nd=1; s=1;
for(i=1;n!=1;i++)
{
c=0;p=1;
while(n%v[i]==0)
{
c++;
n=n/v[i];
p=p*v[i];
}
if (c!=0)
{
nd=nd*(c+1);
p=p*v[i];
s=s*(p-1)/(v[i]-1);
}
}
}
printf("%li %li\n",nd,s%9973);
}
return 0;
}