Pagini recente » Cod sursa (job #1675091) | Cod sursa (job #2203560) | Cod sursa (job #1065980) | Cod sursa (job #971609) | Cod sursa (job #1319624)
#include<fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long m,t,i,a,c,s,j,e,y,x,z,p;
char v[1000009];
long long prime[200001],np;
int main()
{
for(i=1;i<=1000000;i=i+1)
{
v[i]=0;
}
np=0;
for(i=2;i<=1000000;i=i+1)
{
if(v[i]==0)
{
prime[np+1]=i;
np=np+1;
v[i]=2;
for(j=i*i;j<=1000000;j=j+i)
{
v[j]=1;
}
}
}
fin>>t;
m=9973;
for(i=1;i<=t;i=i+1)
{
fin>>a;
c=1;
s=1;
x=a;
j=1;
while(prime[j]*prime[j]<=x)
{
if(x%prime[j]==0)
{
e=0;
while(x%prime[j]==0)
{
e=e+1;
x=x/prime[j];
}
c=c*(e+1);
p=1;
y=prime[j];
z=e+1;
while(z!=0)
{
if(z%2==1)
{
p=(p*y);
}
y=(y*y);
z=z/2;
}
s=(s*(p-1)/(prime[j]-1));
}
j=j+1;
}
if(x>1)
{
c=c*2;
s=s*(x+1);
}
fout<<c<<" "<<s%m<<"\n";
}
fin.close();
fout.close();
return 0;
}