请选择 进入手机版 | 继续访问电脑版

智少年IT小达人_演武台

 找回密码
 立即注册
查看: 4083|回复: 3

趣味算法:中奖彩球

[复制链接]
本站粉丝  发表于 2015-7-2 17:01:03 |阅读模式

    某商场欲举办抽奖促销活动。有人建议在一个口袋中放12个乒乓球,其中三个为红色,3 个为白色,6 个为黑色,要求从中任取8个,如果满足一定的颜色组合即中奖,这样的颜色组合共有多少种?

    假设任意取出的球中红色球为i个,白色球为j个,黑色球的个数根据题意应为 8-i-j个,并且红球和白球的个数取值范围是0 至3,在红球与白球个数确定的情况下黑球个数取值应为8-i-j=6.同样用穷举法,用二重循环求解这个问题。


   代码如下:
#include<stdio.h>
main()
{
    int i,j,count=0;
    printf("\n     RED BALL WHITE BALL BLACK BALL\n");
    printf("--------------------------\n");
    for(i=0;i<=3;i++)     /*i作为红球个数作为外层循环变量*/
        for(j=0;j<=3;j++)  /*j作为白球个数作为内层循环变量*/
            if((8-i-j)<=6)  /*如果黑球个数满足要求,打印该组合*/
                printf("%2d:\t%d\t   %D\n",++count,i,j,8-i-j);
}


    运行结果:
        RED       WHITE     BLACK
1         0         2         6
2         0         3         5
3         1         1         6
4         1         2         5
5         1         3         4
6         2         0         6
7         2         1         5
8         2         2         4


回复

使用道具

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|智少年 ( 粤ICP备15046784号

GMT+8, 2022-10-1 09:03 , Processed in 0.113941 second(s), 17 queries .

© 2015-2018 深圳智少年教育咨询有限公司

快速回复 返回顶部 返回列表