Pagini recente » Cod sursa (job #344697) | Cod sursa (job #189542) | Cod sursa (job #2315550) | Cod sursa (job #1994723) | Cod sursa (job #635005)
Cod sursa(job #635005)
#include <fstream>
using namespace std;
const int MOD = 9973;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int N=1000005, cnt=0;
char prim[1000005];
int p[1000005];
int main()
{
long long n,t,i,j,nr,s,fact,e,f,m;
for (i = 2; i <= N; ++i)
prim[i] = 1;
for (i = 2; i <= N; ++i)
if (prim[i])
{
p[++cnt]=i;
for (j = i+i; j <= N; j += i)
prim[j] = 0;
}
fin>>t;
for(i=1;i<=t;i++)
{
fin>>n;m=n;
f=1; nr=1;s=1;
while(n!=1&&f<=N)
{
if(n%p[f]==0)
{
e=0;fact=p[f];
while(n%p[f]==0)
{
n=n/p[f];
e++;
fact=(fact*(p[f]));
}
s=s*(fact-1)/(p[f]-1);
s=s%MOD;
nr=nr*(e+1);
}
f++;
}
if(n!=1)
{
nr=nr*2;
s=(s*(n+1));
s=s%MOD;
}
fout<<nr<<" "<<s%MOD<<"\n";
}
}