Pagini recente » Cod sursa (job #126426) | Cod sursa (job #788818) | Cod sursa (job #1751629) | Cod sursa (job #2289888) | Cod sursa (job #1990330)
#include <fstream>
using namespace std;
bool frecv[1000001];
int cate, ciur[100000];
int main()
{
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
frecv[1] = 1;
for (int i = 1; i<=1000; ++i)
if (!frecv[i])
{
for (int j = i*2; j<=1000000; j+=i)
frecv[j] = 1;
}
for (int i = 1; i<=1000000; ++i)
if (frecv[i] == 0)
ciur[cate++] = i;
int t;
fin >> t;
for (int i = 1; i<=t; ++i)
{
long long n;
fin >> n;
int div = 1;
int suma = 1;
for (int j = 0; j<cate && n>1; ++j)
{
int de_cate_ori = 0;
long long putere = ciur[j];
while (n%ciur[j] == 0)
{
++de_cate_ori;
n/=ciur[j];
putere = (putere * ciur[j]);
}
div*=(de_cate_ori+1);
suma=(1LL*suma*(putere-1)/(ciur[j]-1))%9973;
}
if (n == 1)
fout << div << " " << suma << '\n';
else fout << 2 << " " << (n+1)%9973 << '\n';
}
}