Pagini recente » Cod sursa (job #945893) | Cod sursa (job #1467312) | Cod sursa (job #1811126) | Cod sursa (job #3132098) | Cod sursa (job #2587230)
#include <fstream>
#include <bitset>
#define MOD 9973
#define NMAX 1000005
#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;
bitset <NMAX> w;
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 *= v[q];
}
if(fm > 0)
{
nrdiv = nrdiv * (fm + 1);
val *= v[q];
sumdiv = (sumdiv * (val - 1) / (v[q] - 1) ) % MOD;
val = 1;
}
q ++;
if(v[q] * v[q] > 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;
}