描述

验证尼科彻斯定理,即:任何一个整数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))