程式設計C 實驗四 題目四 求組合數(0082)
阿新 • • 發佈:2018-12-09
Description
Sample Input
輸入n 和r 的值; 當用戶輸入0 0 時,程式結束。
Input根據公式: C(n,r) = C(n, r-1) * (n - r + 1) / r 輸出運算結果 輸入資料不滿足題意時候,輸出"error!"
Output1 2 3 4 | 5 3 10 20 50 3 0 0 |
1 2 3 4 5 6 7 | 10 error! 19600 |
#include <stdio.h> int main() { int C(int n,int r); int n,r; while(1) { scanf("%d %d",&n,&r); C(n,r); if(C(n,r) == 0) { return 0; } else if(C(n,r) == -1) { printf("error!\n"); } else { printf("%d\n",C(n,r)); } } return 0; } int C(int n,int r) { int c; if(n < 0 || r < 0 || n < r) { c = -1; } else if(n == 0 && r == 0 ) { c = 0; } else if(r == 0 || n == r) { c = 1; } else { c = C(n,r-1) * (n - r + 1) / r; } return c; }