若是梦& 终将空 2021-12-27 08:35 采纳率: 78.6%
浏览 608
已结题

sdut-array2-5 打印“杨辉三角“ 品中国数学史 增民族自豪感

北宋人贾宪约1050年首先使用“贾宪三角”进行高次开方运算。 南宋数学家杨辉在《详解九章算法》(1261年)记载并保存了“贾宪三角”,故称杨辉三角。杨辉三角是中国数学史上的一个伟大成就。 杨辉三角,是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。

中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623-1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。

杨辉三角数字的特点为:

(1)在三角形的首列和对角线上,数值均为1;

(2)其余数据为:每个数字等于上一行的左右两个数字之和,第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,用公式表示为: C(n+1,i)=C(n,i)+C(n,i-1)。

图示为:

1.jpg

杨辉三角的应用:(a+b)的n次方,展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。

输入格式:
欲打印杨辉三角的行数n(1<=n<=13)。

输出格式:
(1)输出的数据为等腰三角形样式;

(2)每个数字占据4个字符的位置,数字左对齐,数字不足4位的右边留出空格;

(3)最后一行的数值“1”顶格,前面无空格。

提示:以n=5,分析行首空格数为:

输入样例1:
5
结尾无空行
输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
结尾无空行
输入样例2:
6
结尾无空行
输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
结尾无空行

  • 写回答

1条回答 默认 最新

  • chuifengde 2021-12-27 12:33
    关注
    l = [[1], [1, 1]]
    n = int(input(">>>"))
    
    for i in range(2, n):
        li = [0] * (i + 1)
        for j in range(i + 1):
            if j == 0 or j == i:
                li[j] = 1
            else:
                li[j] = l[i - 1][j] + l[i - 1][j - 1]
        l.append(li)
    for i in range(n):
        strC = ' '.join(map(str, l[i]))
        print(strC.center(4 * n))
    
    '''--result
    >>>10
                       1                    
                      1 1                   
                     1 2 1                  
                    1 3 3 1                 
                   1 4 6 4 1                
                 1 5 10 10 5 1              
                1 6 15 20 15 6 1            
              1 7 21 35 35 21 7 1           
             1 8 28 56 70 56 28 8 1         
          1 9 36 84 126 126 84 36 9 1       
    '''
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 12月27日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效