0

一次学校里举行元旦晚会,有一个抽奖活动。参加活动的人数一共有64人。大奖只有一个,老师决定:把所有的人围成一个大圆圈。先从老师开始,算第1号,开始数数,他右边的人算第2号,然后3号,每隔一人数一个,数到是奇数的人都站出来,剩下的继续数,直到剩下最后一个人,大奖就归他。一个聪明的学生故意站到一个位置上,最后正好就剩下了他。你知道他站在哪里了吗?

回答后才能看到答案和解析
4年前上传
7个回答

所有奇数出来,剩余的都是偶数,偶数开始又开始去奇数。剩下的就是最后的64号。

  • 第一圈剩下2,4,6,8.。。。。62,64;
  • 第二圈剩下4,8,。。。60,64;
  • 第三圈剩下8,16,24,32,40,48,56,64
  • 第四圈16,32,48,64
  • 第五圈32,64.
  • 最后,64

4年前回答

$arr = range(1, 64);

function check($arr)
{
  foreach ($arr as $k => $item) if ($k % 2 == 0) unset($arr[$k]);

  $arr_ret = array_values($arr);

  if (count($arr_ret) > 1) return check($arr_ret);

  return $arr_ret;
}

print_r(check($arr));

4年前回答
我的回答