Pagini recente » Cod sursa (job #1618319) | Cod sursa (job #1425174) | Cod sursa (job #2544245) | Cod sursa (job #1793593) | Cod sursa (job #2523607)
#include <iostream>
#include <fstream>
#define ull unsigned long long
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
ull ans = 1;
ull n;
ull Pow = 1;
ull aux;
int nr_prime = 0;
bool ciur[1000005];
ull prime[100001];
void Ciur()
{
for (int i = 2; i <= 1000000; i++) if (ciur[i] == 0)
{
for (int j = i + i; j <= 1000000; j += i)
{
ciur[j] = 1;
}
}
for (int i = 2; i <= 1000000; i++)
{
if (ciur[i] == 0)
{
nr_prime ++ ;
prime[nr_prime] = i;
}
}
}
void solve()
{
int i;
ull ans = 1;
ull ans2 = 1;
ull aux = 0;
ull po;
for (i = 1; prime[i] <= n and i <= nr_prime; i++)
{
if (n % prime[i] == 0)
{
po = 1;
aux = 0;
while (n % po == 0)
{
aux ++;
po *= prime[i];
}
ans *= (po - 1);
ans /= (prime[i] - 1);
ans2 *= aux;
}
}
//g<<"aya";
g <<ans2<<" "<< ans <<"\n";
}
int main() {
int test;
f >> test;
Ciur();
while (test --)
{
f >> n;
solve();
}
return 0;
}