我们知道,A(x,y)和C(x,y)是在排列组合中会被用到的
就可以根据A(x,y) = x*(x-1)*(x-2)*...*(x-y+1)求出了一个A函数
for循环相乘,不要忘记把答案初始化为1,否则无论乘多少次都是0
A(x,y)代码:
int A (int x, int y) {
int sum = 1;
for (int i = 1; i <= y; i++) sum *= x--;
return sum;
}
接下来,C(x,y)=A(x,y)/A(y,y)
直接这样就可以了
int A (int x, int y) {
int sum = 1;
for (int i = 1; i <= y; i++) sum *= x--;
return sum;
}
//多出来的C函数↓
int C (int x, int y) {
return A (x, y) / A (y, y); //需要调用A函数
}