Pagini recente » Cod sursa (job #1659604) | Cod sursa (job #349723) | Cod sursa (job #1678200) | Cod sursa (job #3154692) | Cod sursa (job #2568841)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
long long n, x, k, s, nr, c, y, x1;
long long j, i;
short fr[1000001];
int v[80000];
int main()
{
fin >> n;
fr[0] = 1; fr[1] = 1;
for(i = 2; i <= 1000000; i++)
{
if(fr[i] == 0)
{
k++;
v[k] = i;
for(j = i * i; j <= 1000000; j += i)
fr[j] = 1;
}
}
for(k = 1; k <= n; k++)
{
fin >> x;
s = 1;
nr = 1;
i = 0;
x1 = x;
while(x > 1)
{
i++;
c = 0;
while(x % v[i] == 0)
{
x /= v[i];
c++;
}
nr = nr * (c+1);
y = 1;
for(j = 1; j <= c+1; j++)
y = y * v[i];
s = s * (y - 1)/(v[i] - 1);
}
fout << nr<< " " << s << "\n";
}
return 0;
}