pascal问题

大约在公元5世纪,数学家张邱建在他的《算经》中提出了一个文明于后世的百钱百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁,母,雏各几何?意识就是一... 大约在公元5世纪,数学家张邱建在他的《算经》中提出了一个文明于后世的百钱百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁,母,雏各几何?意识就是一只公鸡5钱,一只母鸡3钱,三只小鸡一钱,有一百钱的情况下买了一百只鸡,每种鸡各有几只?(假设每种至少有一只) 展开
 我来答
h1415926535
2013-07-02 · TA获得超过3139个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:396万
展开全部

首先,这是一道初学pascal很常见的题,如果用一般解法进行枚举,很容易能写出下面代码:

(一只公鸡5钱,则最多有19只公鸡;一只母鸡3钱,则最多有33只母鸡;因此令 i 和 j 分别从1~19,1~33循环)

 

var i,j,k:integer;

begin

 for i:=1 to 19 do

  for j:=1 to 33 do

  begin

   k:=100-i-j;                     //k存的是小鸡的只数;

   if k mod 3<>0 then continue;

   if 5*i+3*j+k div 3=100 then

    writeln(i:5,j:5,k:5);

  end;

end.


但是如果多想一下,还能做得更好!

注意,由于x、y、z都是整数,因此上面x的范围我也取了整数,本身是有分数的。


代码写出来是这样:

var x:integer;
begin
 for x:=26 to 28 do
  writeln(4*x-100:5,200-7*x:5,3*x:5);
end.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式