Pagini recente » Cod sursa (job #1648521) | Cod sursa (job #2690130) | Cod sursa (job #2400552) | Cod sursa (job #1470274) | Cod sursa (job #2482661)
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int t, i, j, d;
int v[1000001];
int prime[78499], nrp;
long long x, divizor;
int nr, s, aux, k;
int main()
{
for (i=2;i<=1000000;i++)
if (v[i]==0)
{
nrp++;
prime[nrp]=i;
for (j=i+i;j<=1000000;j=j+i)
v[j]=1;
}
f>>t;
for (i=1;i<=t;i++)
{
f>>x;
nr=s=1;
for (d=1;d<=nrp && prime[d]*prime[d]<=x;d++)
{
k=0;
divizor=1;
aux=1;
while (x%prime[d]==0)
{
x=x/prime[d];
k++;
divizor=(divizor*prime[d])%9973;
aux=(aux+divizor)%9973;
}
nr=nr*(k+1);
s=(s*aux)%9973;
}
if (x>1)
{
nr=nr*2;
s=(s*(x+1))%9973;
}
g<<nr<<" "<<s<<"\n";
}
return 0;
}