Pagini recente » Cod sursa (job #3159725) | Cod sursa (job #1106441) | Cod sursa (job #1758120) | Cod sursa (job #1915131) | Cod sursa (job #1479003)
#include <fstream>
#include <cmath>
#include <vector>
#include <set>
#include <algorithm>
#include <cstring>
#include <map>
#include <iomanip>
#include <time.h>
//#include <iostream>
#define lld unsigned long long
using namespace std;
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
lld power(lld b, lld e)
{
lld variabila;
if(e == 0)
return 1;
if(e % 2 == 0)
{
variabila = power(b, e/2);
return (variabila * variabila);
}
else
return (b * power(b, e - 1));
}
lld x[1000005], n, y[1000005], a, v;
int main(){
cin >> n;
for(int i = 2; i <= 1001; i++){
if(x[i] == 0){
y[a++] = i;
for(int j = i + i; j <= 1001; j+=i)
x[j] = 1;
}
}
for(int i = 0; i < n; i++)
{
cin >> v;
lld t = 0, s = 1, o = 1;
while(v != 1)
{
lld d = 0;
while(v % y[t] == 0)
{
v /= y[t];
d++;
}
o *= (power(y[t], (d + 1)) - 1) / (y[t] - 1);
s *= (d + 1);
t++;
}
cout << s << " " << o << "\n";
}
return 0;
}