杨辉三角形详解

您所在的位置:网站首页 打印以下的杨辉三角形(要求打印6行) 杨辉三角形详解

杨辉三角形详解

2024-07-15 10:29| 来源: 网络整理| 查看: 265

 

文章目录 杨辉三角形例题第一题第二题第三题第四题    

  

杨辉三角形

杨辉三角形 前提:每行端点与结尾的数为1。

每个数等于它上方两数之和。

每行数字左右对称,由 1 开始逐渐变大。

第 n 行的数字有 n 项。

前 n 行共[(1 + n) * n] / 2 个数。

第 n 行的 m 个数可表示为 C(n - 1,m - 1),即为从 n - 1 个不同元素中取 m - 1 个元素的组合数。

第 n 行的第 m 个数和第 n - m + 1个数相等 ,为组合数性质之一。

每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第 n + 1 行的第 i 个数等 8 于第 n 行的第 i - 1 个数和第 i 个数之和,这也是组合数的性质之一。即 C(n + 1, i) = C(n, i) + C(n, i - 1)。

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

将第 2n + 1 行第 1 个数,跟第 2n + 2 行第 3 个数、第 2n + 3 行第 5 个数……连成一线,这些数的和是第 4n + 1 个斐波那契数;将第 2n 行第 2 个数(n > 1),跟第 2n - 1 行第 4 个数、第 2n - 2 行第 6 个数……这些数之和是第 4n - 2 个斐波那契数。 斐波那契数列

将第 n 行的数字分别乘以10(m-1),其中m为该数所在的列,再将各项相加的和为11(n-1)。110 = 1,111 = 1 x 100 + 1 × 101 = 11,112 = 1 × 100 + 2 x 101 + 1 x 102 = 121,113 = 1 x 100 + 3 × 101 + 3 x 102 + 1 x 103 = 1331,114 = 1 x 100 + 4 x 101 + 6 x 102 + 4 x 103 + 1 x 104 = 14641,115 = 1 x 100 + 5 x 101 + 10 x 102 + 10 x 103 + 5 x 104 + 1 × 105 = 161051。 10

第 n 行数字的和为2(n-1)。1 = 2(1-1),1 + 1 = 2(2-1),1 + 2 + 1 = 2(3-1),1 + 3 + 3 + 1 = 2(4-1),1 + 4 + 6 + 4 + 1 = 2(5-1),1 + 5 + 10 + 10 + 5 + 1 = 2(6-1)。 第n行和

斜线上数字的和等于其向左(从左上方到右下方的斜线)或向右拐弯(从右上方到左下方的斜线),拐角上的数字。1 + 1 = 2,1 + 1 + 1 = 3,1 + 1 + 1 + 1 = 4,1 + 2 = 3,1 + 2 + 3 = 6,1 + 2 + 3 + 4 = 10,1 + 3 = 4,1 + 3 + 6 = 10,1 + 4 = 5。 12

将各行数字左对齐,其右上到左下对角线数字的和等于斐波那契数列的数字。1,1,1 + 1 = 2,2 + 1 = 3,1 + 3 + 1 = 5,3 + 4 + 1 = 8,1 + 6 + 5 + 1 = 13,4 + 10 + 6 + 1 = 21,1 + 10 + 15 + 7 + 1 = 34,5 + 20 + 21 + 8 + 1 = 55。 斐波那契数列

   

   

   

例题 第一题

题目 题目链接

#include #include #include using namespace std; int n; int main(){ scanf("%d", &n); int num[50][50]; num[1][1] = 1; for(int i = 1; i = n) r = mid; else l = mid + 1; } if(C(r, k) != n) return false; printf("%lld", 1ll * (r + 1) * r / 2 + k + 1);//C(r, k)对应的顺序值为:(r + 1) * r / 2 + k + 1 return true; } int main(){ scanf("%d", &n); for(int k = 16; ; k --) if(check(k)) break; return 0; }

   

   

   

第三题

题目 题目链接

class Solution { public: vector generate(int numRows) { vector num; for(int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3