
问题
求从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条)