问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:李楠
*完成日期:2014年10月24日
*版本号:v1.0
*
*问题描述:百钱买百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
*输入描述:5x+3y+z/3=100;x+y+z=100
*程序输出:鸡翁、鸡母、鸡雏的个数为x.y.z
*/
#include <iostream>
using namespace std;
int main()
{
int x,y,z,count=0;
cout<<"翁,母,雏个数的情况有:"<<endl;
for(x=0;x<=20;x++)
for(y=0;y<=33;++y)
for(z=0;z<=300;++z)
if(5*x+3*y+z/3==100&&x+y+z==100&&z%3==0)
{
++count;
cout<<count<<":"<<x<<","<<y<<","<<z<<endl;
}
return 0;
}
运行结果:
知识点总结:
第一次写程序的时候没有想到77、3取整这件事,多输出了三种情况,导致错误;后来经过分析思考和同学的帮助,加入了z%3==0这一条件,完成了该项程序。
学习心得:
做程序要有数学的逻辑思维,比如这种组合问题就得结合所学数学知识,细心耐心认真地写,一丝一毫都不能马虎~