问题及代码:
/*
*copyright (c) 2014,烟台大学计算机学院
*all rights reserved.
*文 件 名 : test .cpp
*作 者 :白云飞
*完成日期 :2014年10月28号
*版 本 号 :v1.1
*
*问题描述 :若一个口袋放12个球,其中3红,3白,6黑,问从中任取8个共有多少种共同搭配?
*输入描述 :无
*程序输出 :不同种搭配
*/
#include <iostream> //预处理指令。
#include <cmath> //使用数学符号。
using namespace std; //使用C++的命名空间 std。
int main() //函数首部。
{
int iwball,irball,ibball,iCase=0; //声明4个变量实型。
cout<<"搭配方案如下:"<<endl;
for (iwball=0;iwball<=3;iwball++)//循环语句
for (irball=0; irball<=3; irball++)
if (8-irball-iwball<=6)
{iCase++;
ibball=8-irball-iwball;
if (iCase<=10)
{
cout<<"方案 "<<iCase<<":";//输出结果
cout<<"白球"<<":"<<iwball;
cout<<"红球"<<":"<<irball;
cout<<"黑球"<<":"<<ibball<<endl;
}
}return 0;
}
运行结果:
知识点总结:
利用for语句解决排列组合问题。
学习心得:
用for语句解决排列组合问题,将计算机与数学紧密结合,是一次很好的体验。