描述
验证尼科彻斯定理,即:任何一个整数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\1≤m≤100
进阶:时间复杂度:O(m)\O(m) ,空间复杂度:O(1)\O(1)
输入描述:
输入一个int整数
输出描述:
输出分解后的string
思路:
step1:输入一个数字,同时创建一个列表,便于保存奇数;
step2:对n*(n-1)+1 至 n*(n+1),每隔一个数进行遍历,并将他们添加至列表中;
step3:对c逐一遍历,如果遍历到最后一位,直接打印i;其余都要把+带上
代码如下:
n = int(input())
c = []
for i in range(n*(n-1)+1,n*(n+1),2):
c.append(i)
for i in c:
if i == c[-1]:
print(i)
else:
print(i,end='+')