Pagini recente » Cod sursa (job #514213) | Cod sursa (job #2313755) | Cod sursa (job #328293) | Cod sursa (job #976196) | Cod sursa (job #1643728)
#include <fstream>
#define mod 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bool p[600005];
int P[800000], np, t, i, N;
long long nsum, ndiv, x, prr, x2;
void genprim()
{
int i, j;
P[np=1] = 2;
for (i = 1; 2*i+1 <= 1000000; i++)
if (p[i] == 0)
for (j = 3*i+1; 2*j+1 <= 1000000; j+= 2*i+1)
p[j] = 1;
for (i = 1; 2*i+1 <= 1000000; i++)
P[++np] = 2*i+1;
}
int main()
{
genprim();
for (f>>t;t > 0;t--)
{
f >> x;
//g << x << " ";
ndiv = nsum = 1;
for (i = 1; i <= np && P[i]*P[i] <= x; i++)
if (x%P[i] == 0)
{
prr = P[i];
N = 0;
while (x%P[i] == 0)
{
x /= P[i];
N++;
prr *= P[i];
}
ndiv = ndiv*(N+1);
nsum = (nsum*(prr-1)/(P[i]-1))%mod;
}
if (x > 1)
ndiv = (ndiv*2)%mod, nsum = (nsum*(x+1))%mod;
g << ndiv << " " << nsum << "\n";
}
return 0;
}