Pagini recente » Cod sursa (job #1868070) | Cod sursa (job #2164158) | Cod sursa (job #2092402) | Cod sursa (job #2460454) | Cod sursa (job #584363)
Cod sursa(job #584363)
#include<cstdio>
#include<cmath>
using namespace std;
long long p,s,nr,k,s1;
int prim(long long nu)
{int ok,d;
ok=1;
for(d=2;d<=sqrt(nu);d++)
if(nu%d==0) ok=0;
return ok;
}
long long rid(int baza,int expo)
{p=1;
for(k=1;k<=expo;k++)
p*=baza;
return p;
}
long long suma1(int baza,int expo)
{s1=0;
do{
s1+=rid(baza,--expo);}while(expo!=0);
return s1;
}
int main()
{int i,t,j,fm,n;
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d",&t);
for(i=1;i<=t;i++)
{scanf("%lld", &nr); n=s=1; if(prim(nr)) {n*=2; s*=(nr+1); } else {j=2;
do
{fm=0;
while(nr%j==0) {fm++; nr/=j;} n*=(fm+1);
s*=suma1(j,fm+1);
j++;
}while(nr!=1);
}printf("%d\n %d\n",n,s%9973);}
return 0;
}