题解 | #尼科彻斯定理#

尼科彻斯定理

https://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85

描述

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。
数据范围:1\le m\le 100\1m100 
进阶:时间复杂度:O(m)\O(m) ,空间复杂度:O(1)\O(1) 


输入描述:

输入一个int整数

输出描述:

输出分解后的string

示例1

输入:
6
复制
输出:
31+33+35+37+39+41
复制


代码:
#对m为奇偶进行分类讨论,
#若为偶数则直接从m^2往两边跨奇数步得到所有的值,
#若为奇数则直接从m^2往两边跨偶数步得到所有值,m为奇数还要把m^2加上
#最后排序并转化为字符串输出即可
m=int(input())
m2=m*m
lst1=[]
if m%2==0:
    for i in range(1,m,2):
        lst1.append(m2-i)
        lst1.append(m2+i)
else:
    for i in range(2,m,2):
        lst1.append(m2-i)
        lst1.append(m2+i)
    lst1.append(m2)
lst1=sorted(lst1)

for i in range(len(lst1)):
    lst1[i]=str(lst1[i])
print("+".join(lst1))


#华为od#
全部评论

相关推荐

喜欢喜欢喜欢:这是我见过最长最臭的简历
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-05 04:14
已编辑
真烦好烦真烦:看着感觉好强啊,这都过不了吗
投递字节跳动等公司7个岗位 面试中的破防瞬间
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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