Pagini recente » Cod sursa (job #2482755) | Cod sursa (job #3238362) | Cod sursa (job #3159111) | Cod sursa (job #673613) | Cod sursa (job #2423341)
#include <fstream>
#define MOD 9973
using namespace std;
long long n, x, d, nrdiv, sumdiv, val, fm;
unsigned long long lgput(unsigned long long n, unsigned long long p)
{
if(p == 0)return 1;
if(p == 1)return n;
long long x = lgput(n, p / 2);
if(p % 2 == 0)return x * x;
if(p % 2 == 1)return x * x * n;
}
int main()
{
ifstream f("ssnd.in");
ofstream g("ssnd.out");
f >> n;
while(n --)
{
f >> x;
d = 2;
nrdiv = sumdiv = 1;
do
{
fm = 0;
while(x % d == 0)
{
x = x / d;
fm ++;
}
if(fm > 0)
{
nrdiv = nrdiv * (fm + 1);
val = lgput(d, fm + 1);
sumdiv = (sumdiv * (val - 1) / (d - 1) ) % MOD;
}
d ++;
if(d * d > x && x > 1)
{
nrdiv = nrdiv * 2;
sumdiv = (sumdiv * (x * x - 1) / (x - 1)) % MOD;
x = 1;
}
}
while(x > 1);
g << nrdiv << " " << sumdiv << "\n";
}
return 0;
}