三色球问题

1.问题描述

一个口袋中放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任取8个,问共有多少种可能的颜色搭配?

2.问题分析

假设八个球,红球a个,白球b个,黑球c个,那么c=8-a-b个。而且a<=3,b<=3,也就是说8-a-b<=6

3.算法设计

穷举法用两个for循环,第一个for控制红球的数量,第二个控制白球的数量,最后用if语句,判断符不符合8-a-b是不是<=6,如果是就打印输出

4.程序

#include<iostream>
using namespace std;
int main()
{
    int a = 0, b = 0, c = 0;//这里是定义了一个c,是说黑球的数量,其实c就是8-a-b,也可不定义c,最后一行打印输出注意不要写c。
    for (a = 0; a <= 3; a++)//控制黑球数量
        for (b = 0; b <= 3; b++)//控制白球数量
            if (8 - a - b <= 6 )//判断
                cout << a << "  " << b << "  " << 8-a-b << "  " << endl;
    return 0;
}

 

posted @ 2023-05-11 23:48  酥饼馅红豆沙  阅读(121)  评论(0编辑  收藏  举报