问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作 者:陈文青
*完成日期:2014年10月28日
*版 本 号:v1.0
*
*问题描述:三色球问题:若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,问从中任取8个共有多少种不同的颜色搭配?
*程序输入:
*程序输出:输出所有可能的颜色搭配。
*/
#include <iostream>
using namespace std;
int main()
{
int i,j,k,count=0;
cout<<"所有不同的颜色搭配为:"<<endl;
for(i=1; i<=3; i++) //穷举所选红球个数的所有情况
for(j=1; j<=3; j++) //穷举所选白酒个数的所有情况
if(8-i-j<=6) //在上述情况下,加上黑球个数,确保共选8个球
{
++count;
k=8-i-j; //黑球个数
cout<<"方案"<<count<<":"<<"红球:"<<i<<"个,白球:"<<j<<"个,黑球"<<k<<"个。"<<endl;//输出方案
}
return 0;
}
运行结果:
知识点总结:
穷举法列举三色球组合问题。
学习心得:
在这个程序中,主要是确定判断结构中,输入对球总数限定为8的条件。其他方面大致一样。