输入一个整数
。
在一行上输出一个字符串,用于描述这个数列中的元素从小到大相加的形式。元素与元素之间用加号连接。
1
1
2
3+5
3
7+9+11
4
13+15+17+19
while True:
try:
n = int(input())
list1 = []
res = []
if n == 0:
break
elif n == 1:
print(1)
elif n > 1:
if n % 2 != 0:
for i in range(1, int(n / 2 + 1)):
list1.append(n ** 2 - i * 2)
list1.append(n ** 2 + i * 2)
list1.append(n ** 2)
res = map(str,sorted(list1))
print("+".join(res))
if n % 2 == 0:
for i in range(1, n, 2):
list1.append(n ** 2 - i)
list1.append(n ** 2 + i)
res = map(str,sorted(list1))
print("+".join(res))
except:
break
num = int(input())
list1 = []
n = num*num
str1 = [] #join()只能连接字符串
if num % 2==0:
#当输出为偶数时,易观察到连续奇数和是从num^2往两边奇数和(不包括num),步长为2
#但为奇数时,需要加上自身平方
for i in range(1,num,2):
list1.append(n - i)
list1.append(n + i)
else:
for i in range(2,num,2):
list1.append(n - i)
list1.append(n + i)
list1.append(n)
list1 = sorted(list1)
for i in range(len(list1)):
str1.append(str(list1[i]))
print('+'.join(str1)) n = int(input())
m = 1 + n*(n-1)
ls = []
for i in range(n):
ls.append(str(m))
m += 2
print('+'.join(ls)) a=int(input()) b=a*a*a ii=1 total=0 while True: total=(ii+2*(a-1)+ii)*a/2 if total ==b: break ii=ii+2 c='' for i in range(0,a): c=c+str(ii)+'+' ii=ii+2 f = len(c)-1 c=c[0:f] print(c)
m = int(input())
l =[]
for i in range(m**3+1):
if i %2 !=0:
l.append(i)
t = 0
if m <=100:
t =t+((1+m)*m)/2
s = int(t)
k = l[s-m:s]
print('+'.join(map(str,k))) 我没有一上来就开始找首个奇数的规律,而是采用穷极法进行尝试。。。 的确是个笨方法