Pagini recente » Cod sursa (job #2653878) | Cod sursa (job #606273) | Cod sursa (job #538365) | Cod sursa (job #2333806) | Cod sursa (job #606290)
Cod sursa(job #606290)
#include<fstream.h>
#include<math.h>
#define N 1000000
int o,nr,p[N];
long long n,t,s;
long k,i,j,q,r,x[N];
int main()
{ifstream f("ssnd.in");
ofstream g("ssnd.out");
f>>o;
x[++k]=2;
for(i=1;((i*i)<<1)+(i<<1)<=N;i++)
if(!(p[i>>3]&(1<<(i&7))))
for(j=((i*i)<<1)+(i<<1);(j<<1)+1<=N;j+=(i<<1)+1)
p[j>>3]|=(1<<(j&7));
for(i=1;2*i+1<=N;++i)
if(!(p[i>>3]&(1<<(i&7))))
x[++k]=2*i+1;
while(o--)
{f>>n;
for(i=1,t=n,s=1,nr=1;t>1&&x[i]<=sqrt(t);i++)
{j=0;
while(t%x[i]==0)
j++,t/=x[i];
if(j)
{nr*=(j+1);
if(j==1)
s*=(x[i]+1);
else
{q=x[i]+1;
for(r=1;r<j;r++)
q=q*x[i]+1;
s*=q;}}}
if(t>1)
nr*=2,s*=(t+1);
if(s==1)
nr=2,s+=n;
g<<nr<<" "<<s%9973<<"\n";}
return 0;}