Pagini recente » Cod sursa (job #2228565) | Cod sursa (job #1056147) | Cod sursa (job #2801406) | Cod sursa (job #2648446) | Cod sursa (job #1060992)
#include<fstream>
#include<bitset>
#define Nmax 1000005
#define mod 9973
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long p[Nmax];
long nrdiv = 1, j, i, sdiv, rez;
bitset<Nmax> viz;
void ciur()
{
int m, ii, j=1;
p[1] = 2;
for (i = 3; i < 1000; i += 2)
if (!viz[i])
{
p[++j] = i; m = 2 * i;
for (ii = i*i; ii <= 1000000; ii += m)p[ii] = 1;
}
}
void putere(long b, long e)
{
while (e)
{
if (e % 2 == 0)
{
b = (b*b)%mod;
e /= 2;
}
else
{
rez = (rez*b)%mod;
e--;
}
}
}
void div(long X)
{
int c=0;
nrdiv = 1;
sdiv = i=1;
while (X>1)
{
c = 0;
while (X%p[i] == 0)
{
c++;
X /= p[i];
}
if (c > 0)
{
rez = 1;
int d=1;
for (j = 1; j <= c; ++j)
{
d =(d* p[i])%mod;
rez = (rez + d)%mod;
}
sdiv = (sdiv*rez)%mod;
nrdiv *= (c + 1);
}
i++;
}
}
int main()
{
int T, N, k;
ciur();
fin >> T;
for (k = 1; k <= T; ++k)
{
fin >> N;
div(N);
fout << nrdiv << ' '<< sdiv<<'\n';
}
return 0;
}