1. 编程求猴子吃枣问题:猴子摘了一堆枣N个,第一天吃了一半,还嫌不过瘾,又多吃了一个:第二天又吃了剩下的一半零一个:以后每天如此,到第十天,猴子一看只剩下一个了。问最初有多少个枣子?

program exLoop1_1;
var
    x, i : integer;
begin
     x := 1;
     for i := 2 to 10 do
         x := (x+1)*2;
     writeln('They had ', x, ' jujubes ago.');
     readln;
end.


program exLoop1_2;
var
    x, i, temp : integer;
begin
     x := 1024;                 // 据题意原来的枣子数肯定 >= 2的10次方,即 1024
     while x < 2048 do
     begin
          temp := x;
          for i := 1 to 9 do
              temp := temp div 2-1;
          if temp = 1 then break;
          x := x+2;
     end;
     writeln('They had ', x, ' jujubes ago.');
     readln;
end.

posted @ 2010-01-01 21:15  SmartIOI  阅读(1705)  评论(0)    收藏  举报
本站采用CC授权如需转载、引用文章,请务必附上作者及来源处。 Creative Commons License