回 帖 发 新 帖 刷新版面

主题:一个Pascal问题,请大家来作(狐狸捉兔子)

【问题】围绕着山顶有10个洞,狐狸要吃兔子,兔子说:"可以,但必须找到我,我就藏身于这十个洞中,你从10号洞出发,先到1号洞找,第二次隔1个洞找,第三次隔2个洞找,以后如此类推,次数不限。"但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?

大家来做做吧~~~~~~~~~~~~~~~~~

回复列表 (共21个回复)

11 楼

我的结果为:
2 5 7 10
能看看哪里错了吗????

12 楼

改进了点~~但结果没变~~~
你说是不是你的答案有问题呀?

program tuzi;
const n=10;
var
   i,j:integer;
   a:array[1..n] of boolean;
begin
   for i:=1 to n do a[i]:=true;
   j:=0;
   for i:=1 to 1000 do
    begin
       if (i mod 10=0) then a[10]:=false
           else a[i mod n]:=false;
       j:=j+1;
       i:=j+i;
    end;
   for i:=1 to 10 do
        if a[i] then write(i:3);
   readln;
end.

13 楼

绝对是你错了,5和10绝对错!

14 楼

你的程序里J初始应为0~~~~~~~~~~~~~

15 楼

哦~~~对的~~
我改过来了~~~

16 楼

这也是狼追兔子的问题。但是是填空。请高手们看看怎么来做:
program asdf;
  var a,b:array[1..10] of integer;
  i,j:integer;
begin
  for i:=1 to 10 do a[i]:=1;
j:=0;
 for i:=1 to 100 do
  begin
  ____________;
 j:=j mod 10;
 if j mod 10=0 then ________;
 __________________________________;
end;
for i:=1 to 10 do if a[i]<>0 then write(i:2)
end.
并且能讲一下解题思路

17 楼

约瑟夫问题...

18 楼


把狼,免子的问题贴上来啊

19 楼

var
 a,s:integer;
 q:array[1..10] of boolean;
begin
 for a:=1 to 1000 do
  begin
   s:=s+a;
   if q[s mod 10]=false then q[s mod 10]:=true;
  end;
 for a:=1 to 10 do
  if q[a]=false then writeln(a);
 end.

20 楼

这是作业里的!

我来回复

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