解题思路:看题目找规律

注意事项:不用再找其他的了,我的是最简单的

参考代码:

n=int(input())

List=[[0]*n for _ in range(n)]

List[0][0]=1

k=1

for i in range(n):

    for j in range(1,n-i):

        List[i][j]=List[i][j-1]+j+i+1

        if i==0:

            List[k][0]=List[0][j-1]+1

            k+=1

for i in range(n):

    for j in List[i]:

        if j!=0:

            print("{} ".format(j),end="")

    print()


点赞(0)
 

0.0分

6 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 9 条评论

silverash 1年前 回复TA
@啊这 太妙了
3120000938 2年前 回复TA
@啊这 这个才是大佬
啊这 2年前 回复TA
我有一种更简单的解法:
n=int(input())
num=1
for i in range(n):
    num+=i
    num2=num
    for j in range(i,n):
        k=j+2
        print(num2,end = ' ')
        num2+=k
    print()
大家可以参考一下
xinyang 2年前 回复TA
n = int(input())
List = [[0] * n for _ in range(n)]
List[0][0] = 1
k = 1
for i in range(n):
    for j in range(1, n - i):
        List[i][j] = List[i][j - 1] + j + i + 1
        if i == 0:
            List[k][0] = List[0][j - 1] + 1
            k += 1

for i in range(n):
    temp = []
    for j in List[i]:
        # print(List[i])
        if j != 0:
            temp.append(j)
    print(" ".join(str(i) for i in temp))
xinyang 2年前 回复TA
行尾不要多余的空格。
Kimi 2年前 回复TA
@Kimi 好的好的,明白啦,谢谢
脆脆的毛肚 2年前 回复TA
@Kimi 明白了嘛
脆脆的毛肚 2年前 回复TA
@Kimi 开始的时候我建立了一个全0二维矩阵,然后通过循环改变矩阵内的值,然后按照题意,按蛇形矩阵,话肯定不要把0给输出啊。
Kimi 2年前 回复TA
请问为什么最后为什么要 j != 0呢