回 帖 发 新 帖 刷新版面

主题:[讨论]qiang发的又一小学奥赛题

一木板高110厘米,有个小虫由地面向上爬,每分钟爬上50厘米,每爬1分钟就要休息1分钟,在这休息时间内下滑30厘米,当小虫爬到顶部还要休息2分钟,再按原路爬回地面,问共用多少分钟?

回复列表 (共10个回复)

沙发

这个有必要编程序吗??算都算的出来`~~
不属于高难度的

板凳

应该让所有数据都可以自定义才有编程的意义~~~
而且也超级简单~源程序就不编了~

3 楼

我来把问题复杂化啦,一木板高N厘米,有个小虫由地面向上爬,每分钟爬上L厘米,每爬1分钟就要休息1分钟,在这休息时间内下滑S厘米,当小虫爬到顶部还要休息2分钟,再按原路爬回地面,问共用多少分钟?(要求L>S)编程解决,而且必须考虑小虫向下走时,速度是不是L+S,呵呵,大家再来做做

4 楼

上了顶上休息的2分钟,会不会在着2分钟下滑?

5 楼

应该是11.6

6 楼

[em11]很简单的啊!
不就是:7分钟吗?[em12][em12

7 楼

口算都算得出来!7分钟吧!

8 楼

对不起错误

9 楼

8.6分钟啊。不知道对不对。
上 4 分钟
休息 2分钟
下 2.6 分钟

10 楼

program wnpp;
{$APPTYPE CONSOLE}
var
  cV,sV,b:byte;
  T,rT : single;
  S : integer;
begin
  b := 1;
  write('please input the S :');
  readln(S);
  write('please input the cV:');
  readln(cV);
  write('please input the sV:');
  readln(sV);
  write('please input the rT:');
  readln(rT);
  T := 0.0;
  T := (S-cV)div(cV-sV);
  T := T + (S-(cV-sV)*T)/ cV;
  T := T + rT;
  while (( S>cV) and (b = 1)) or ((S>sV) and (b = 0)) do
  begin
  if (b = 1) and (S>=cV) then
  begin
    T := T + 1;
    S := S - cV;
    b := 0;
  end;
  if (b = 0) and (S>=sV) then
  begin
    T := T + 1;
    S := S - sV;
    b := 1;
  end;
  end;
  if b=1 then
  T := T + S/cV
  else
  T := T + S/sV;
  writeln('T:',T:3:2,'s');
  readln;
end.

我来回复

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