Pagini recente » Cod sursa (job #2962439) | Cod sursa (job #2637575) | Cod sursa (job #303889) | Cod sursa (job #1486413) | Cod sursa (job #2061063)
#include <fstream>
#define MOD 9973
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int T,i,j,n,v[1000001],nrdiv,k,rest;
bool w[1000001];
int main()
{
fin >> T;
for (i=2; i<=1000000; i++)
if (w[i] == 0)
{
v[++k] = i;
for (j=i+i; j<=1000000; j+=i)
w[j] = 1;
}
for (;T--;)
{
fin >> n;
nrdiv = 1;
rest = 1;
for (i=1; i<=k && v[i]*v[i]<=n; i++)
{
if (n%v[i] == 1)
continue;
int aux = 1;
int nr = v[i];
while (n%v[i] == 0)
{
n /= v[i];
nr *= v[i];
aux++;
}
nrdiv *= aux;
rest = (rest*(nr-1)/(v[i]-1))%MOD;
}
if (n > 1)
{
nrdiv *= 2;
rest *= n+1;
rest %= MOD;
}
fout << nrdiv << " " << rest << "\n";
}
return 0;
}