验证尼科彻斯定理Python

尼科彻斯定理

http://www.nowcoder.com/questionTerminal/dbace3a5b3c4480e86ee3277f3fe1e85


while True:
    try:
        m = int(input())
        s = []
        for i in range(1, m**3):  # 最大基数一定小于基数之和,即:m**3
            if i%2 != 0:
                s.append(i)  # 将1到m**3的基数,从小到大逐一追加到列表 s
                if m ** 3 == sum(s[-m:]):
                    s = s[-m:]  # 如果追加某个基数后,列表最后m位之和正好等于 m**3 时,将列表 s 重新赋值为所要找的那 m 个基数
                    break   # 找到那 m 个基数结束当前循环以节约时间
        result = str(s[0])  # 输出结果初始赋值列表s的第一个数
        for k in range(1, m):
            result += '+'+str(s[k])
        print(result)
    except:
        break


全部评论
当m为1就无了
点赞 回复 分享
发布于 2021-08-17 15:10

相关推荐

06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

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