牛客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

相关推荐

06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

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