宁波正规网站seo公司,建设明星网站的目的,常州个性化网站建设,优化工具 wordpress匿名用户1级2017-09-02 回答杨辉三角#xff0c;是二项式系数在三角形中的一种几何排列。前提#xff1a;每行端点与结尾的数为1.每个数等于它上方两数之和。每行数字左右对称#xff0c;由1开始逐渐变大。第n行的数字有n项。第n行数字和为2n-1。第n行的m个数可表示为 C(n-1…匿名用户1级2017-09-02 回答杨辉三角是二项式系数在三角形中的一种几何排列。前提每行端点与结尾的数为1.每个数等于它上方两数之和。每行数字左右对称由1开始逐渐变大。第n行的数字有n项。第n行数字和为2n-1。第n行的m个数可表示为 C(n-1m-1)即为从n-1个不同元素中取m-1个元素的组合数。第n行的第m个数和第n-m1个数相等 为组合数性质之一。每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n1行的第i个数等于第n行的第i-1个数和第i个数之和这也是组合数的性质之一。即 C(n1,i)C(n,i)C(n,i-1)。(ab)n的展开式中的各项系数依次对应杨辉三角的第(n1)行中的每一项。将第2n1行第1个数跟第2n2行第3个数、第2n3行第5个数……连成一线这些数的和是第4n1个斐波那契数将第2n行第2个数(n1)跟第2n-1行第4个数、第2n-2行第6个数……这些数之和是第4n-2个斐波那契数。将各行数字相排列可得11的n-1(n为行数)次方111^0; 1111^1; 12111^2……当n5时会不符合这一条性质此时应把第n行的最右面的数字”1”放在个位然后把左面的一个数字的个位对齐到十位… …以此类推把空位用“0”补齐然后把所有的数加起来得到的数正好是11的n-1次方。以n11为例第十一行的数为1,10,45,120,210,252,210,120,45,10,1结果为 259374246011110。完整代码#!/usr/bin/python#codingutf-8# __author__ cy#输出杨辉三角数值表def triangle(num):#初始表值为[1]triangle[[1]]#添加i个值([1])至triangle表,eg:[1]*3,triangle[[1], [1], [1]]for i in range(2, num1):triangle.append([1]*i)#改变triangle表的值,eg:#当num5时i取5j取3#triangle[4][1] triangle[3][1]triangle[3][0]#triangle[4][2] triangle[3][2]triangle[3][1]#triangle[4][3] triangle[3][3]triangle[3][2]#相当于triangle表的第4位的值(这里的值为一个表)的第1,2,3位值等于第3位的值(这里的值也是一个表)的第1,2,3位值和0,1,2的值分别相加(即错位相加)。for j in range(1, i-1):triangle[i-1][j] triangle[i-2][j]triangle[i-2][j-1]return triangle#格式化输出(输出的是一个表)def printtriangle(triangle, width):#列宽column len(triangle[-1])*widthfor sublist in triangle:result []for contents in sublist:#控制间距result.append({0:^{1}}.format(str(contents), width))#控制缩进{0:^{1}}空格在两边补齐空位‘^’居中对齐‘:’号后面带填充的字符print({0:^{1}}.format(.join(result), column))#启动函数if __name__ __main__:#输入整数num int(input(How many rows do you want:))#打印信息print The triangle rows as follows:triangle triangle(num)#列宽width len(str(triangle[-1][len(triangle[-1])//2]))3printtriangle(triangle, width)