狐狸捉兔子狐狸捉兔子
【问题】围绕着山顶有10个洞,狐狸要吃兔子,兔子说:“可以,但必须找到我,我就藏身于这十个洞中,你从10号洞出发,先到1号洞找,第二次隔1个洞找,第三次隔2个洞找,以后如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?
【答案】2,4,7,9
【参考程序1】
const
holenumber=10; ...
狐狸捉兔子
【问题】围绕着山顶有10个洞,狐狸要吃兔子,兔子说:“可以,但必须找到我,我就藏身于这十个洞中,你从10号洞出发,先到1号洞找,第二次隔1个洞找,第三次隔2个洞找,以后如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?
【答案】2,4,7,9
【参考程序1】
const
holenumber=10;
var
hole:array[0..holenumber] of 0..1;
step,i,number:longint;
begin
for i:=0 to 9 do hole[i]:=0;
number:=0;
for step:=1 to 1000 do begin
number:=number+step; {循环地数}
i:=number mod holenumber; {第几个洞}
hole[i]:=1;
end;
for i:=0 to holenumber-1 do
if hole[i]=0 then write(i:3);
readln;
end.
【参考程序2】
const
m=10; {洞数}
var
l,f,t:integer;
a:array[1..m+1] of 0..1;
begin
for t:=1 to m do
a[t]:=0;
f:=0; t:=0; l:=0;
repeat
l:=l+1; {隔几个洞}
t:=t+l; {第几个洞}
if t>m+1 then t:=t mod m;
if t=0 then t:=10;{循环地找}
a[t]:=1;{该洞已进过}
f:=f+1; {进洞的次数}
until f=1000;
for t:=1 to 10 do
if a[t]=0 then write(t,' ');
readln
end.
本文档为【狐狸捉兔子】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。