描述
验证尼科彻斯定理,即:任何一个整数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
示例1
输入:
6
复制输出:
31+33+35+37+39+41
思路一:分奇偶数,确定其实值
while True:
try:
n = int(input())
s = int(n**3 / n)
length = int(n / 2)
l = []
if s % 2 == 0:
first = s - 1 - (length - 1) * 2
for i in range(n):
l.append(str(first + i * 2))
print("+".join(l))
else:
first = s - length * 2
for i in range(n):
l.append(str(first + i * 2))
print("+".join(l))
except:
break
思路二:技巧方法,m*m-1 一定是偶数