问题
求从n个不同整数中取出r个整数的组合数?
解题思路
定义两个整型数n和r,从键盘输入两个数给n和r,n保存整数个数,r为需要从n个整数中取出的元素个数;n和r必须大于0且n必须大于r。
//从n个不同整数中取出r个整数的组合数 int combination(int n, int r) { int sum=0; if(r>n || r<0 || n<0) { printf("Input Error!n"); } else { if(1 == r) { return n; } else { for(; n >= r; n--) { sum += n-r +1; } } } return sum; } int main() { int n, r; do{ printf("请输入数字,以空格隔开:n"); scanf("%d %d", &n ,&r); printf("%d个不同整数的%d个整数组合数是:%d。nn", n, r, combination(n,r)); } while(1); return 0; }
运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)