输入一个整数
。
在一行上输出一个字符串,用于描述这个数列中的元素从小到大相加的形式。元素与元素之间用加号连接。
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)))我没有一上来就开始找首个奇数的规律,而是采用穷极法进行尝试。。。 的确是个笨方法