资讯专栏INFORMATION COLUMN

每日一题: 二 杀人事件

Ilikewhite / 546人阅读

摘要:假设有个人站成一个圆圈,按顺序排列到。然后他把剑传给仍站着的下一个人,在这种情况下,号。这种模式继续在圈内和周围,直到只有一个人保持。

假设有n个人站成一个圆圈,按顺序排列1到n。
1号开始用剑杀死2号。然后他把剑传给仍站着的下一个人,在这种情况下,3号。3号然后用剑杀4号,并将其传给5号。这种模式继续在圈内和周围,直到只有一个人保持。
最后一个人的序号是多少?
例子:

假设有5个人站成一圈
1号拿剑杀死2号,传递给3号,
3号拿剑杀死4号,传递给5号,
5号拿剑杀死1号,传递给3号,
3号拿剑杀死5号,最终获胜
function circle_slash(int $n): int {
  // Coding and coding ... 
  
}

其中,$n为人数.
祝君好运!
答案,我会在评论区中查看,谢谢!晚上我会搬出示例代码!谢谢 segmentfault团队 清蒸不是水煮 提供的意见

例子:
让我们来看看PHP的最简单的例子

function circle_slash(int $n): int {
  return 1 + 2 * ($n - 2 ** ~~log($n, 2));
}

暂时算法最优的:

function circle_slash(int $n): int {
  $multiplier = 2;
  $firstKiller = 1;
  
  while ($n > 1) {
    $firstKiller += ($n % 2) * $multiplier;
    $n = floor($n / 2);
    $multiplier *= 2;
  }
  
  return $firstKiller;
}

不过这两个都不是我写的,我得感谢chenx提供的想法.谢谢!
至于第一个例子,我是在google而得到.感谢 donaldsebleung.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38681.html

相关文章

  • 每日一题: 杀人事件

    摘要:假设有个人站成一个圆圈,按顺序排列到。然后他把剑传给仍站着的下一个人,在这种情况下,号。这种模式继续在圈内和周围,直到只有一个人保持。 假设有n个人站成一个圆圈,按顺序排列1到n。1号开始用剑杀死2号。然后他把剑传给仍站着的下一个人,在这种情况下,3号。3号然后用剑杀4号,并将其传给5号。这种模式继续在圈内和周围,直到只有一个人保持。最后一个人的序号是多少?例子: 假设有5个人站成一圈...

    2bdenny 评论0 收藏0
  • 每日一题: 杀人事件

    摘要:假设有个人站成一个圆圈,按顺序排列到。然后他把剑传给仍站着的下一个人,在这种情况下,号。这种模式继续在圈内和周围,直到只有一个人保持。 假设有n个人站成一个圆圈,按顺序排列1到n。1号开始用剑杀死2号。然后他把剑传给仍站着的下一个人,在这种情况下,3号。3号然后用剑杀4号,并将其传给5号。这种模式继续在圈内和周围,直到只有一个人保持。最后一个人的序号是多少?例子: 假设有5个人站成一圈...

    Ajian 评论0 收藏0
  • 每日一题: 杀人事件

    摘要:假设有个人站成一个圆圈,按顺序排列到。然后他把剑传给仍站着的下一个人,在这种情况下,号。这种模式继续在圈内和周围,直到只有一个人保持。 假设有n个人站成一个圆圈,按顺序排列1到n。1号开始用剑杀死2号。然后他把剑传给仍站着的下一个人,在这种情况下,3号。3号然后用剑杀4号,并将其传给5号。这种模式继续在圈内和周围,直到只有一个人保持。最后一个人的序号是多少?例子: 假设有5个人站成一圈...

    zengdongbao 评论0 收藏0
  • JS每日一题:Es6中新增的数据类型有哪些?使用场景?

    摘要:问中新增的数据类型有哪些使用场景中新增一种原始数据类型最大的特点是唯一性,值通过函数生成在中对象的属性都是字符串,我们使用他人定义的对象,然后去新增自己的属性,这样容易起冲突覆盖原有的属性也可以看成为一个字符串,不过这个字符能保证是独一无二 20190125问: Es6中新增的数据类型有哪些?使用场景? es6中新增一种原始数据类型Symbol,最大的特点是唯一性,Symbol值通过S...

    jsummer 评论0 收藏0
  • JS每日一题:Es6中新增的数据类型有哪些?使用场景?

    摘要:问中新增的数据类型有哪些使用场景中新增一种原始数据类型最大的特点是唯一性,值通过函数生成在中对象的属性都是字符串,我们使用他人定义的对象,然后去新增自己的属性,这样容易起冲突覆盖原有的属性也可以看成为一个字符串,不过这个字符能保证是独一无二 20190125问: Es6中新增的数据类型有哪些?使用场景? es6中新增一种原始数据类型Symbol,最大的特点是唯一性,Symbol值通过S...

    DataPipeline 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<