Pagini recente » Cod sursa (job #1986318) | Cod sursa (job #2821839) | Cod sursa (job #557367) | Cod sursa (job #2935799) | Cod sursa (job #2587216)
#include <fstream>
#define MOD 9973
#define NMAX 100005
#define ull unsigned long long
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
ull v[NMAX], sumdiv, nrdiv, x, i, j, t, q, k, fm, val;
bool w[NMAX];
int main()
{
for(i = 2; i <= NMAX; ++ i)
if(!w[i])
{
v[++ k] = i;
for(j = i * i; j <= NMAX; j = j + i)
w[j] = 1;
}
f >> t;
while(t --)
{
f >> x;
sumdiv = nrdiv = val = 1;
q = 1;
do
{
fm = 0;
while(x % v[q] == 0)
{
x /= v[q];
fm ++;
val = (1LL * val * v[q]) % MOD;
}
if(fm > 0)
{
nrdiv = (nrdiv * (fm + 1)) % MOD;
val = (val * v[q] ) % MOD;
sumdiv = (sumdiv * (val - 1) / (v[q] - 1) ) % MOD;
val = 1;
}
q++;
if(v[q] * v[q] > x && x > 1)
{
nrdiv = (nrdiv * 2) % MOD;
sumdiv = (sumdiv * (x * x - 1) / (x - 1)) % MOD;
x = 1;
}
}while(x > 1);
g << nrdiv << " " << sumdiv << "\n";
}
return 0;
}