在一行上输入一个整数
代表矩阵的大小。
输出一个
行
列的上三角蛇形矩阵。
4
1 3 6 10 2 5 9 4 8 7
第一步,
,将
;
第二步,
,将
、
;
第三步,
,将
、
、
;
第四步,
,将
、
、
、
。
num = int(input()) first = 1 for i in range(num): # 控制行 first += i tmp = first for j in range(num-i): # 控制列 print(tmp, end=' ') tmp += 2+i+j print()
# 以2为起始,每次往上增1 # 下一行以3为开始,每次往上增1 # 每行的开头元素规律:以1开始,每次加1,2,3,4 n=int(input()) raw_start,x=[],1 # 每一行开头的元素 for i in range(1,n+1): raw_start.append(x) x=x+i m=2 # 每行元素的增量 for j in range(len(raw_start)): x=raw_start[j] # 记录开头行元素 for k in range(n-j): # 每行总共n-j个元素 print(x,end=' ') x=x+k+m m+=1 print()
n = int(input()) ls = [1,] for i in range(0,n): ls.append(i) temp = sum(ls) print(temp,end=' ') for j in range(i+2,n+1): temp += j print(temp,end=' ') print()
def hj35(n): if n == 1: res = [[1]] return res a_n_1 = hj35(n - 1) y_plus = n - 1 #第一列新加的数与上一个数的差值 y_new = a_n_1[n - 2][0] + y_plus #第一列新加的数 #利用每行最后一次依次+1,计算a_n_1每行最后需要加的数 jump=1 for i in a_n_1[::-1]: #倒序 i.append(y_new + jump) jump += 1 #第一列新加的数 a_n_1.append([y_new]) res = a_n_1 return res if __name__ == '__main__': a = int(input()) res = hj35(a) #遍历列表输出 for i in res: for j in i: print(j, end=' ') print()
n = int(input()) x = (n**2+n)//2 # 算出蛇尾 count = 0 # 第零次 list1 = [] for j in range(0, n): # 输入多少就有多少行 list1.append(x) # 装入第一个元素 for i in range(n, j+1, -1): # 算出并装入之后的元素, 内循累减不能到最n(j)否则会出现0 x -= i list1.append(x) for k in range(len(list1)): # pop()从尾部输出列表顺带清空 print(list1.pop(), end=' ') print() count += 1 x = (n**2+n)//2 # 重置蛇尾 x -= count # 新的循环蛇尾减次数
n = int(input()) # 生成一个n*n矩阵 lst = [] # 无numpy库,循环生成 for i in range(n): lst.append([]) for j in range(n): lst[i].append(0) # 初始化第一个数 lst[0][0] = 1 # 初始化第0列 for i in range(1, n): lst[i][0] = lst[i-1][0] + i # 从第一列开始,生成蛇形矩阵 i, j = 0, 1 for i in range(n): for j in range(1, n): if i+j < n: # 后一列 = 前一列+行数+列数+1 lst[i][j] = lst[i][j-1] + i + j + 1 # 打印蛇形矩阵 for i in range(n): for j in range(n): # 上对角元素 if i+j < n: # 每一行最后一个元素 if i+j == n-1: print(int(lst[i][j])) # 每一行非最后元素 else: print(int(lst[i][j]), end=' ')
n = int(input()) row = [] value = 1 for i in range(1,n+1): row = [] value_j = value for j in range(1,n+2-i): row.append(value_j) value_j = value_j+i+j value += i print(' '.join(map(str,row)))