Pagini recente » Cod sursa (job #1721158) | Cod sursa (job #3033508) | Cod sursa (job #1921156) | Istoria paginii runda/oni_check/clasament | Cod sursa (job #1352372)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
bool v[2000001];
const int Mod=9973;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
bool prim(long long unsigned x)
{
if(x==0 || x==1) return 0;
for(int i=2;i*i<=x;i++) if(x%i==0) return 0;
return 1;
}
int main()
{
long long unsigned i,j,n,x,s,k,baza,exp;
v[0]=0; v[1]=0;
for(i=2;i<=2000000;i++) v[i]=1;
for(i=2;i*i<=2000000;i++)
if(v[i])
for(j=i+i;j<=2000000;j+=i)
v[j]=0;
in>>n;
for(i=1;i<=n;i++)
{
in>>x;
baza=2;
s=1;
k=1;
while(x!=1)
{
if(x%baza==0)
{
bool temp = v[baza];
if(baza<=2000000 && v[baza])
{
exp=0;
while(x%baza==0)
{
exp++;
x/=baza;
}
s=s*(pow(baza,exp+1)-1)/(baza-1);
if(s>Mod) s%=Mod;
k*=(exp+1);
}
}
baza++;
}
out<<k<<" "<<s<<"\n";
}
return 0;
}