C++ 求组合值
題目描述
組合公式C(x,y)=x!/(y!*(x-y)!),現在給出x和y,請求出C(x,y)
輸入描述
輸入有多行,每行包含兩個數x,y(1<x、y<=50)
輸出描述
對于每行輸入,輸出一行計算結果
輸入樣例
6 4 10 5 15 7輸出樣例
15 252 6435 #include <iostream>using namespace std;_int64 c(int x, int y) { // 返回值使用_int64 因為組合公式C(x,y)=x!/(y!*(x-y)!),每次計算的過程會超出int類型的數據范圍int i, j = 1;_int64 c = 1;for (i = x; j <= y; i--) {c = c * i / j;j++;}return c; }int main() {int x, y;while(cin >> x >> y){if(x <= 50 && y <= 50 && 1 < x && 1 < y){ // (1<x、y<=50)cout << c(x, y) << endl;}else{break;}} }總結
- 上一篇: C++ 二进制转十进制
- 下一篇: C++ 统计字符串中某字符出现的次数