牛客2020年愚人节比赛 出题相关

大家好,我是神崎兰子,这次比赛D和E的出题人。
说实话出题之前我没想到这次会这么毒瘤,D最终3w多发提交,E最后也成为了防ak题。
这次本来只出了E题,D是在看到那个随机数题(也就是现在的A题)之后想抖一个机灵,于是这样诞生了。本来以为把答案写在“样例输出”上会是一个不错的提示,没想到还是有这么多人没猜到ww
这里主要讲一下E题。关于E题的题解已经由清楚姐发了:https://ac.nowcoder.com/discuss/396514?type=101&order=0&pos=6&page=1
说一下出题的目的以及解题思路吧。
这道题出出来主要是想看看大家对数论的敏感度,以及“看样例猜结论”的一个能力。题目描述里也蛛丝马迹给了很多提示。不过最后看来,好好去做E题的人并不是很多,可能大家也以为E也是个抖机灵的题目吧。这里稍微有点遗憾。
首先说一下题面里的提示吧:

  • 题目名字是return 1,结合样例里的1对应的0,其他的都大于0,不难猜到是要通过某种运算计算出1。
  • 观察到3对应的1,而6对应的infinity。如果对数论很感兴趣的童鞋可能已经会猜想到“完全数”这个东西:若一个数取自己所有因子(除了它自己)求和为它本身,那么该数为完全数。而6则是最小的完全数。
  • “不断将灵魂的碎片收集,作为下一个目的地的路标”,这里可以理解为收集某些东西求和。下一个目的地的路标则可以理解为不断迭代。最终的终点即为1。
  • 这个运算被我命名为“约和运算”,感兴趣的同学可以看一下这个链接:https://baike.baidu.com/item/%E7%BA%A6%E5%92%8C%E8%BF%90%E7%AE%97/7558837?fr=aladdin

那么这道题就是不断的求约数之和(去掉本身这个约数)的一个迭代计算。输出迭代到1的次数。“完全数”、“亲和数”或者会迭代到这种数的数是永远不会到1的,则输出infinity。
在此还是为出了这么毒瘤的题谢罪一下qwq
最后祝大家愚人节快乐~希望大家玩的开心^.^

全部评论
555
点赞 回复 分享
发布于 2020-05-05 18:52
%%%%%%%%%
点赞 回复 分享
发布于 2020-04-01 21:18
这太毒瘤了(
点赞 回复 分享
发布于 2020-04-01 21:17

相关推荐

HR_丸山彩同学:你的项目描述里,系统设计讲了很多:MemCube是什么、三级存储架构怎么设计、四种遗忘策略分别是什么。这些面试的时候讲没问题,但简历上不需要这么细。 简历要突出的是影响力,不是实现细节。面试官看简历的时候想知道的是「这个项目有多大价值」,不是「这个项目具体怎么实现的」。实现细节是面试时候聊的 怎么改:技术细节可以精简为一句「采用三级存储架构+四种遗忘策略」,把省出来的篇幅用来写影响力。比如:项目有没有开源?有没有写成技术博客?有没有被别人使用过? 校园经历没有任何信息量,任何人都可以写这句话,写了等于没写。更关键的是,你投的是技术岗,校园活动经历本来就不是加分项。如果非要写,必须写出具体的数字和成果。如果你没有这些数字,那就老老实实删掉 「端到端耗时缩减30-40%」要给出确切数字和绝对值。从1000ms降到600ms是降了40%,从100ms降到60ms也是降了40%,但这两个含义完全不一样。其他也是,涉及到数据,准备好证据,口径统一,面试会问 「熟练」「熟悉」「了解」混在一起用,读起来很乱。而且「了解前端需求」最好改成「具备前后端协作经验」
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务