回 帖 发 新 帖 刷新版面

主题:古老的问题

100匹马,100块瓦,大马运3个,二马运2个,小马2匹运1个,一次全运走

你知道多少大马,多少二马,多少小马吗?

好像是8,20,72

回复列表 (共6个回复)

沙发

有分吗?????
嘿嘿~~~

program abc;
var a,b,c:integer;
begin
     for a:=0 to 34 do
        for b:=0 to 50 do
          for c:=0 to 100 do
              if a+b+c=100 then
                  if a*3+b*2+c/2=100 then writeln(a:3,b:3,c:3);
     readln;
     readln;

end.


有6组答案;
2 30 68
5 25 70
8 20 72
11 15 74
14 10 76
17 5 78
20 0 80

以经改过来了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`~~~~~~

板凳

让电脑慢慢凑吧~~~~~~~~~~~~~~~~~~~~~~

3 楼

二楼的少一组解.
program cxxx401;
  var a,b,c:integer;
begin
  for a:=0 to 34 do
   for b:=0 to 50 do
    for c:=1 to 50 do
    if (a*3+b*2+c=100)and(a+b+c*2=100)
       then writeln(a:3,b:3,c:3);
end.

4 楼

你看清楚题目了吗???
你的C可能有问题吧~~~~~

5 楼

没错啊.
大马20
中马0
小马80

6 楼

我是考虑掉了为0的情况
我以经改过来了,看上面~~~~的回复~
但是你的,我觉得也有点问题:
program cxxx401;
  var a,b,c:integer;
begin
  for a:=0 to 34 do
   for b:=0 to 50 do
    for c:=1 to 50 do
    if (a*3+b*2+c=100)and(a+b+c*2=100)
       then writeln(a:3,b:3,c:3);//C如果为1就是是两匹马吧!但你的出时C没有乘2呀?
end.



果然有问题~~~~我刚刚试了~~~~~~在C那个地方确实有问题

我来回复

您尚未登录,请登录后再回复。点此登录或注册