Pagini recente » Cod sursa (job #1706803) | Cod sursa (job #1825632) | Cod sursa (job #1263717) | Cod sursa (job #849689) | Cod sursa (job #1687478)
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
long long nrt, a, nrdiv=1, sumdiv=1, div1, exp1, ind;
bool x[1000005];
int ciur[80001];
int main()
{
x[1]=1;
x[0]=1;
for (int i = 1; i<= 1000001; i++)
{
if (x[i] == 0)
{
ciur[++ind]=i;
for (int j = i+i; j<= 1000001; j+=i)x[j]=1;
}
}
int loc=1;
fin >> nrt;
for (int i =1; i<= nrt; i++)
{
fin >> a;
div1 = 2;
sumdiv = 1;
nrdiv = 1;
loc=0;
while (a > 1)
{
div1 = ciur[++loc];
exp1=0;
while (a% div1 == 0 && a > 1){a = a/div1; exp1++;}
nrdiv*=(exp1+1);
if (exp1!=0)sumdiv*=((pow(div1, exp1+1)-1)/(div1-1));
sumdiv = sumdiv%9973;
}
fout << nrdiv << ' ' << sumdiv << '\n';
}
return 0;
}