C++实验4——穷举法解决组合问题

1.百钱百鸡问题

/* 
* 文件名称:百钱百鸡问题 
* 作    者:张绮雯  
* 完成日期:2016年4月21日 
* 版 本 号:v1.0 
* 对任务及求解方法的描述部分:使用for语句
* 输入描述:x,y,z  
* 问题描述:使用for语句计算三种鸡的个数 
* 程序输出:三种鸡的个数  
* 问题分析: 
* 算法设计:使用for语句循环  
*/  
#include <iostream.h>
void main() 
{
	int n=1,x,y,z;
	cout<<"百钱买百鸡的方案有:"<<endl;
	for(x=0;x<=20;x++)
		for(y=0;y<=33;y++)
			for(z=0;z<=100;z++)
				if(x+y+z==100&&5*x+3*y+z/3==100&&z%3==0)
					cout<<n++<<".鸡翁"<<x<<"只,鸡母"<<y<<"只,鸡雏"<<z<<"只\n";
}
运行结果:

C++实验4——穷举法解决组合问题_第1张图片

2.三色球问题

/*  
* 文件名称:三色球问题
* 作    者:张绮雯   
* 完成日期:2016年4月21日  
* 版 本 号:v1.0  
* 对任务及求解方法的描述部分:使用for语句 
* 输入描述:x,y,z   
* 问题描述:使用for语句计算任取8个球共有多少种不同的颜色搭配 
* 程序输出:颜色搭配的方案   
* 问题分析:  
* 算法设计:使用for语句循环   
*/    
#include<iostream>
using namespace std;
int main()
{
	int i,j,m,count=0;
	for(i=0; i<=3; i++)
		for(j=0; j<=3; j++)
			for(m=2; m<=6; m++)
				if(i+j+m==8)
				{
					count++;
					cout<<"方案"<<count<<":"<<"红球:"<<i<<"白球:"<<j<<"黑球:"<<m<<endl;
				}
				return 0;
}
 
 

运行结果:

C++实验4——穷举法解决组合问题_第2张图片

你可能感兴趣的:(C++实验4——穷举法解决组合问题)