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; }
五、结果实现