Pagini recente » Cod sursa (job #2676199) | Cod sursa (job #2662895) | Cod sursa (job #489256) | Cod sursa (job #2253565) | Cod sursa (job #1990322)
#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;
long long suma = 1;
for (int j = 0; j<cate; ++j)
{
int de_cate_ori = 0;
long long putere = ciur[j];
while (n%ciur[j] == 0)
{
++de_cate_ori;
n/=ciur[j];
putere *= ciur[j];
}
div*=(de_cate_ori+1);
suma=suma*(putere-1)/(ciur[j]-1);
}
if (n == 1)
fout << div << " " << suma << '\n';
else fout << 2 << " " << n+1 << '\n';
}
}