一、问题及代码
中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
/*
* 文件名称: 百鸡问题
* 作 者: 唐鑫
* 完成日期: 2017年3月6日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:略
* 输入描述:略
* 问题描述:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡
* 程序输出:翁、母、雏各几何?
* 问题分析:求出翁、母的范围,在范围内利用计算机的速算得到答案
* 算法设计:for循环
*/
#include<iostream>
using namespace std;
void main()
{
int a,b,c;
for(a=0;a<=20;a++)
{
for(b=0;b<=33;b++)
{
for(c=0;c<=300;c++)
{
if(15*a+9*b+c==300&&a+b+c==100)
cout<<"鸡翁:"<<a<<" "<<"鸡母:"<<b<<" "<<"鸡雏:"<<c<<endl;
}
}
}
}
二、运行结果:
三、心得体会:
1计算机的速算能力能帮我们大忙
2我们只需分析以下范围计算让计算机进行,能节约大量时间
3int型最好不要出现除号
四、知识点总结:
1对三 第3点说明
在这个程序中
if(15*a+9*b+c==300&&a+b+c==100)
把它改为(5*a+3*b+c/3==100&&a+b+c==100)
结果为
原因是计算机会对c进行约分,与原题不符合
2进行整数运算时最好不出现分数