我在这里有两个函数可以一起计算 nCr:
int factorial(int n) {
int c;
int result = 1;
for (c = 1; c <= n; c++)
{
result = result*c;
}
return result;
}
int nCr(int n, int r) {
int result;
result = factorial(n)/(factorial(r)*factorial(n-r));
return result;
}
我在需要实施错误检查时遇到问题。随着 n 变大,我将无法计算 n!并且此错误检查必须存在于 nCr 和阶乘中。他们都必须检测到这种溢出。
目前,当我输入一个太大而无法计算的数字时,我会从命令行返回一个浮点类型错误。
我无法解释这个溢出检查。任何帮助将不胜感激,谢谢。