我的牛顿二项式系数程序存在问题.首先它打印负数,但改变阶乘函数类型unsigned long long似乎已经解决了打印负数的问题.该程序适用于max n = 20,在它上面开始打印零,一和二.不知道如何解决这个问题,希望有人可以帮我一臂之力.
#include <iostream>
using namespace std;
unsigned long long factorial(int n) {
if (n == 0) {
return 1;
}
return n*factorial(n - 1);
}
void Binom(int n ,int k) {
unsigned long long factorialResult;
if (k > n) {
return;
}
factorialResult = factorial(n) /(factorial(k) * factorial(n - k));
cout << factorialResult << " ";
if (n >= k) {
Binom(n, k + 1);
}
}
Run Code Online (Sandbox Code Playgroud) c++ ×1