嘿,我的代码已经到此为止
#include
using namespace std;
int factorial(int n);
int main()
{
int n;
cout << "Enter a positive integer: ";
cin >> n;
cout << "Factorial of " << n << " = " << factorial(n);
return 0;
}
int factorial(int n)
{
if(n > 1)
return n * factorial(n - 1);
else
return 1;
}
现在,我需要检查阶乘是否可以是三个连续数字的乘积,而我真的很坚持,谢谢您提前提供帮助!
答案 0 :(得分:1)
我认为除了3!
,4!
或5!
之外,没有其他数字。
仍然,如果要查找以下数字:
int hint = std::pow(fact, 1./3.);
for (int trial = -10;, trial < 11; ++trial)
{
// check if (hint + trial - 1) * (hint + trial) * (hint + trial + 1) is equal to your result
}
我使用21个值进行检查,这太多了,但这是个主意。