Description 【程序设计C 实验四 题目四 求组合数(0082)】输入n 和r 的值; 当用户输入0 0 时,程序结束。
Input 根据公式: C(n,r) = C(n, r-1) * (n - r + 1) / r 输出运算结果 输入数据不满足题意时候,输出"error!"
Output
1 2 3 4 |
5 3 10 20 50 3 0 0 |
Sample Input
1 2 3 4 5 6 7 |
10 error! 19600 |
#include
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;
}
推荐阅读