问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作 者:陈文青
*完成日期:2014年10月28日
*版 本 号:v1.0
*
*问题描述:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?。
*程序输入:
*程序输出:输出所有可能的买鸡方案
*/
#include <iostream>
using namespace std;
int main()
{
int x,y,z,count=0;
cout<<"百钱买百鸡的方案有:"<<endl;
for(x=1; x<=20; x++) //穷举买鸡翁的全部情况
for(y=1; y<=33; y++) //穷举买鸡母的全部情况
for(z=1; z<=300; z++) //穷举买鸡雏的全部情况
if(5*x+3*y+z/3==100&&x+y+z==100)//判断出百钱,百鸡的情况1
{
++count;
cout<<"方案"<<count<<":"<<"鸡翁:"<<x<<"只,鸡母:"<<y<<"只,鸡雏"<<z<<"只。"<<endl;//输出方案
}
return 0;
}
运行结果:
知识点总结:
利用穷举法解决组合问题
学习心得:
根据项目6所给的模版,稍微一改动就把程序编了出来。让我想到这里发表的每一篇博客都相当于一个模版,以后遇到同类问题都可以来这里找到对应的模版。所以这个网站真的非常有用。
然后就是在编程过程中,if 语句中的等号只写了一个,导致一个error,花了好长时间才发现。以后一定要多加注意这一点。