柳梢青春感蔡伸:和尚吃馒头题目

来源:百度文库 编辑:高考问答 时间:2024/05/04 19:24:50
一寺庙有和尚一百,午饭是一百个馒头,每人一个已立了规矩,雷打不动。某日开饭,一外来云游和尚来蹭饭,寺主持既不想破寺内规矩,又不想破出家人允许化斋的规矩,出招:全部101个和尚排一大圆圈,他为1然后向下一个方向报数,报到100者出列,取一馒头入庙就餐,报100的下一位(原第101)即从1开始第二轮报数。一百个百后肯定还剩一人,居然正是那位云游和尚。问:初始时主持把他排在第几位?
希望真正高手来好好想想,给出算法
结果是次要的

应该是21位。
  我用Turbo Pascal 7.0编程做的,运用的是队列思想,具体程序如下:
  program chimantou;
  uses crt;
  var a:array[1..10100]of byte;
  i,t,w:integer;
  begin
  clrscr;
  for i:=1 to 101 do
  a[i]:=i;
  t:=1;
  w:=101;
  repeat
  inc(w);
  a[w]:=a[t];
  inc(t);
  if t mod 100=0 then
  begin
  write(a[t]:5);
  inc(t);
  end;
  until t-w=1;
  readln;
  end.
  输出结果是: 100 99 101 2 5 9 14 20 27 35 44 54 65 77 90 8 26 45 63 83 7 33 58 84 16 47 76 13 50 86 29 69 15 60 6 59 12 68 28 85 49 18 81 55 32 3 88 72 61 51 43 42 48 57 71 87 1 31 66 96 39 92 41 10 78 53 36 25 30 40 70 94 37 93 67 46 38 64 91 34 17 11 24 89 79 97 73 75 23 74 80 62 82 19 22 98 95 56 4 52 21
  大家可以试一下。
  至于算术方法,我再整理整理,改日发上来。

21

是21

第99个
第一次拿到馒头的是第100个,第二次拿到的是第101个,第三次是第1个。。。。。。第100次出列拿到馒头的是第第98个,所以。。。呵呵!!谁叫他在第99个呢??哈哈

2

21