Pagini recente » Cod sursa (job #199360) | Cod sursa (job #1243472) | Cod sursa (job #2640045) | Cod sursa (job #1470332) | Cod sursa (job #2456594)
#include<fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int t,c,v[1000005],nv;
long long int n,d,x,nrd,sd,y,i,j;
bool ciur[1000005];
int main()
{
for(i = 2;i <= 1000;i++)
if(!ciur[i] )
for(j=i*i;j <= 1000000;j = j + i)
ciur[j]=1;
fin >> t;
for(i = 2;i <= 1000000;i++)
if(!ciur[i])
v[++nv] = i;
while(t--)
{
fin >> n;
d = 1;
x = n;
nrd = 1;
sd = 1;
while(v[d] * v[d] <= x)
{
c = 0;
y = 1;
while(x % v[d] == 0)
{
c++;
x = x / v[d];
y = y * v[d];
}
if(c >= 1)
{
y = y * v[d];
nrd = nrd * (c+1);
sd = (sd * ((y - 1) / (v[d] - 1)))%9973;
}
d++;
}
if(x > 1)
{
nrd *= 2;
sd = (sd*(x + 1))%9973;
}
fout<< nrd << ' ' << sd <<'\n';
}
fin.close();
fout.close();
return 0;
}