解题思路:主要和二维列表的使用

注意事项:

参考代码:n = eval(input())
list = [[] for i in range(n)] #创建n个空的二维列表
list[0].append(1)             #给第一个初值,第一个一定是1
for i in range(1,n) :         #观察发现每行的第一个a(n) = a(n - 1) + n-1 n代表实际行数
   list[i].append(list[i -1][0] + i) #将每一行的第一个进行计算赋值
temp,count = 2,2               #创建每行元素间变化的量值
for i in range(n) :            #两个for进行行和列的赋值
   k = list[i][0]             #行变化
   for j in range(2,n - i + 1):#列变化,2开始因为每行的第一号元素已经提前给了值
       k += count             #通行元素间的关系有第一个确定下一个的值count是各行元素间的变化大小
       count += 1
       list[i].append(k)
   temp += 1                   #下一行的变化大小要加1
   count = temp                #由于count在内层循环会变因此要在下一行继续参与行元素之间的变化,就需要temp来控制
for i in range(n) :             #打印
   for j in range(n - i) :     #每行元素数量-1
       if j != n - i - 1 :
           print(list[i][j],end = " ") #用end=" "控制在一行而不是输出一个就换行
       else :
           print(list[i][j])    #当最后一个的时候换行

点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论