C++打卡第十八天

一、问题描述。
一个口袋中装有12个球,三个红的,三个白的,六个黑的,现在从中取八个,问有多少种取法。
二、设计思路
①、我们可以通过定义三个变量,应用循环结构依次遍历可以出现的情况。
②、颜色相同的小球大小形状是相同的,那么在相同颜色中选球就是和顺序无关。
③、可以通过用所拿出的总量限制第三个变量降低一些时间复杂度。
④、如果条件成立,打印出结果并次数+1.
⑤、最后打印出总次数。
三、流程图

四、代码实现

#include<iostream>
using namespace std;
int main()
{
    int a,b,c,count=0;
    for(a=0;a<4;a++)
    {
        for(b=0;b<4;b++)
        {
            c=8-a-b;
            if(c>=0&&c<7)
            {
                cout<<"红球"<<a<<"个,白球"<<b<<"个,黑球"<<c<<"个。"<<endl;
                count++; 
            }
        }
    }
    cout<<"总次数为:"<<count<<"次。"<<endl; 
    return 0;
 }

五、结果实现

 

posted @ 2023-05-04 18:15  七安。  阅读(19)  评论(0编辑  收藏  举报