标题:o(∩_∩)o... 求助“百钱买百鸡”的问题----其他的解法
取消只看楼主
amormio
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-10-29
 问题点数:0 回复次数:1 
o(∩_∩)o... 求助“百钱买百鸡”的问题----其他的解法
百钱百鸡问题
中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
*题目分析与算法设计
设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的值在0~20之间;同理,y的取值范围在0~33之间,可得到下面的不定方程:
5x+3y+z/3=100
x+y+z=100
方法一;
#include<iostream.h>
void main()
{
int x,y,z;
for(x=0;x<=20;x++) //外层循环控制鸡翁数
for(y=0;y<=34;y++) //内层循环控制鸡母数y在0~33变化
{
z=100-x-y; //内外层循环控制下,鸡雏数z的值受x,y的值的制约
if(z%3==0&&5*x+3*y+z/3==100)
cout<<"cock="<<x<<"\t"<<"hen="<<y<<"\t"<<"chicken="<<z<<endl;
}
}
// cock=0 hen=25 chicken=75
// cock=4 hen=18 chicken=78
// cock=8 hen=11 chicken=81
// cock=12 hen=4 chicken=84
//-------------------------------------------------------------------------
方法二:
#include<iostream.h>
void main()
{
int x,y,z;
for(x=0;x<=20;x++) //外层循环控制鸡翁数
for(y=0;y<=34;y++) //内层循环控制鸡母数y在0~33变化
for(z=0;z<=100;z++)
if(x+y+z==100&&5*x+3*y+z/3==100)
cout<<"cock="<<x<<"\t"<<"hen="<<y<<"\t"<<"chicken="<<z<<endl;

}
//cock=0 hen=25 chicken=75
//cock=3 hen=20 chicken=77 浪费了2只小鸡
//cock=4 hen=18 chicken=78
//cock=7 hen=13 chicken=80 浪费了2只小鸡
//cock=8 hen=11 chicken=81
//cock=11 hen=6 chicken=83 浪费了2只小鸡
//cock=12 hen=4 chicken=84
//**************************************************************
o(∩_∩)o.........o(∩_∩)o...不知道还有没有其他的解法呢???????
搜索更多相关主题的帖子: 百钱买百鸡 解法 
2007-10-30 16:36
amormio
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-10-29
得分:0 
回复:(amormio)o(∩_∩)o... 求助“百钱买百鸡”...
想出来了另外的一种方法;
#include <iostream.h> //优化算法
void main()
{
int cock, hen, chick,time;
for(cock = 0; cock <= 12; cock += 4)
{
hen = 25 - (cock / 4) * 7;
chick = 100 - cock - hen;
cout<<cock<<"\t"<<hen<<"\t"<<chick<<endl;
}
}
// cock=0 hen=25 chicken=75
// cock=4 hen=18 chicken=78
// cock=8 hen=11 chicken=81
// cock=12 hen=4 chicken=84

2007-10-30 18:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-182024-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.455993 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved