问题及代码:
/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:77.cpp
*作 者:董凯琦
*完成日期:2016年3月13日
*版 本 号:v1.0
*
*问题描述:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问翁、母、雏各几何?
*输入描述:无
*程序输出:三个整数,分别代表鸡翁数、鸡母数和鸡雏数
*/
#include <iostream>
using namespace std;
int main()
{
int x,y,z;
for(x=0;x<20;x++)
for(y=0;y<33;y++)
{
z=100-x-y;
if((5*x+3*y+z/3==100)&&z%3==0)
cout<<"x="<<x<<"y="<<y<<"z="<<z<<endl;
}
return 0;
}
运行结果:
知识点总结:
从这个程序中我们可以学习到穷举法解决组合问题。
学习心得:
起初没有挖掘到程序中隐含的条件:比如z=100-x-y,x<20,y<33等使程序复杂化。看来要仔细挖掘隐含条件,做到灵活运用条件!^_^