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.


浙公网安备 33010602011771号