用C语言编程取出八个球,带你解决C语言编程问题~之口袋放球取法

今天带你解决C语言难题,关注我,带你飞!(有点夸张了,嘿嘿)

言归正传了哈!

题目:

口袋中放 12 个球,3 个红的,3 个白的,6 个黑的。从中任取 8 个,编写程序列出所有可能的取法。

提示:

可采用 3 重循环,对每一种颜色球的个数进行穷举,三种球的个数相加是 8,就是一种取法。

【输出样例】

红色球=3,白色球=3,黑色球=2

红色球=2,白色球=3,黑色球=3

红色球=3,白色球=2,黑色球=3

红色球=1,白色球=3,黑色球=4

红色球=2,白色球=2,黑色球=4

红色球=3,白色球=1,黑色球=4

红色球=0,白色球=3,黑色球=5

红色球=1,白色球=2,黑色球=5

红色球=2,白色球=1,黑色球=5

红色球=3,白色球=0,黑色球=5

红色球=0,白色球=2,黑色球=6

红色球=1,白色球=1,黑色球=6

红色球=2,白色球=0,黑色球=6

共有 13 种情况

aa545921fccc6611c5c5be70a6110f42.png

方法1:

#include

void main( )

{

int i,j,k;

for(i=3;i>=0;i--)

//取第一次时,红球全部取完

for(j=3;j>=0;j-- )

//取第一次时,白球全部取完

for(k=2;k<=6;k++)

//取第一次时,黑球取最小 if(i+k+j==8)

{

printf("红球=%d,白球=%d,黑 球=%d\n",i,j,k); }

}

方法2:

#include

void main( )

{

int i,j,k;

for(i=0;i<=3;i++) //红球从最少开始取

for(j=0;j<=3;j++) //白球从最少开始取

{

k=8-i-j;

if(k<=6) //黑球从最多开始取

printf("红球=%d,白球=%d,黑球=% d\n",i,j,k); }

}

还有疑问的话,私信我就可以。

对你有帮助的话,点个关注点个赞吧!

2bab2e74712f3d889974f99056ca0d1a.png

举报/反馈

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值