Pagini recente » Cod sursa (job #400423) | Borderou de evaluare (job #1213019) | Borderou de evaluare (job #1759097) | Cod sursa (job #1876401) | Cod sursa (job #1970777)
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
#define MOD 9973
bool v[1000004];
long long nrp[1000000];
int main()
{
long long t,i,j;
f>>t;
for(i=2;i<=1000005;i++)
{
if(v[i]==0)
{
j=i;
j+=i;
while(j<=1000005)
{
v[j]=1;
j+=i;
}
}
}
long long prim=0;
for(i=2;i<=1000005;i++)
{
if(v[i]==0)
{
prim+=1;
nrp[prim]=i;
}
}
long long a,n,s,p,e,d,k,w;
for(j=1;j<=t;j++)
{
f>>a;
s=a;
p=1;
e=1;
d=1;
while(nrp[d]*nrp[d]<=s)
{
if(s%nrp[d]==0)
{
k=0;
w=nrp[d];
while(s%nrp[d]==0)
{
s/=nrp[d];
e+=w;
w*=nrp[d];
e%=MOD;
k+=1;
}
p*=(k+1);
}
d+=1;
}
if(s>1)
{
p*=2;
e*=(s+1)%MOD;
e%=MOD;
}
g<<p<<" "<<e<<'\n';
}
f.close();
g.close();
return 0;
}