Pagini recente » Cod sursa (job #1533832) | Cod sursa (job #1040016) | Cod sursa (job #2430224) | Cod sursa (job #2743326) | Cod sursa (job #1583867)
#include <iostream>
#include <fstream>
using namespace std;
bool ciur[1000050];
int prime[79000];
void baga_ciur()
{
int x=2,d,tz=0;
ciur[0]=ciur[1]=1;
while(x<1000050)
{
prime[++tz]=x;
d=2*x;
while(d<1000050)
{
ciur[d]=1;
d+=x;
}
x++;
while(ciur[x])x++;
}
}
int main()
{
baga_ciur();
ifstream f("ssnd.in");
int i,n,j,p,pfc,prp,sp;
long long x;
f>>n;
ofstream fout("ssnd.out");
for(i=1;i<=n;i++)
{
f>>x;
j=1;prp=1;sp=1;
while(prime[j]*prime[j]<=x)
{
p=0;
pfc=prime[j];
while(x%prime[j]==0)
{
x/=prime[j];
p++;
pfc=(pfc*prime[j])%9973;
}
if(p)
{
prp=prp*(p+1)%9973;
sp=sp*((pfc-1)/(prime[j]-1))%9973;
}
j++;
}
if(x!=1)
{
prp=prp*2%9973;
sp=sp*(x+1)%9973;
}
fout<<prp<<" "<<sp<<"\n";
}
return 0;
}