POJ 3421
题目大意
暂无
题目解法
暂无
RTFC
#include <cstdio>
int f[1 << 12 | 1];
long long _f(int x)
{
long long ans = 1;
for (int i = x; i; i--) ans *= i;
return ans;
}
int main()
{
int x;
while (~scanf("%d", &x))
{
int _x = x, t = 0;
for (int i = 2; i * i <= _x; i++)
{
f[t] = 0;
while (_x % i == 0)
_x /= i, f[t]++;
t++;
}
if (_x != 1) f[t++] = 1;
int sum = 0;
for (int i = 0; i < t; i++) sum += f[i];
long long fac = _f(sum);
for (int i = 0; i < t; i++) fac /= _f(f[i]);
printf("%d %lld\n", sum, fac);
}
return 0;
}