三色球问题
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; }