Pagini recente » Cod sursa (job #842986) | Cod sursa (job #1058763) | Cod sursa (job #2598034) | Cod sursa (job #1056019) | Cod sursa (job #1060990)
#include<fstream>
#include<bitset>
#define Nmax 2000005
#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()
{
long ii;
for (long i = 2; i < Nmax; ++i)
{
if (viz[i] == 0)
{
p[++j] = i;
for (ii = 2 * i; ii < Nmax; ii += i)
viz[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;
}