当前位置:首页 > C++目录 > 正文内容

【数论】杨辉三角

亿万年的星光3年前 (2023-02-01)C++目录3588

一、起源

 杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。

可以看出,它与上节课讲的二项式系数一样。


二、特点

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

  • 每行数字左右对称,由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个数等于第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个斐波那契数。

  • ……



三、实现方式

二维数组实现:

#include<bits/stdc++.h>
using namespace std;
#define N 100
int main() 
{
	int a[N][N];
	int n,i,j; 
	cin>>n;
	for(i=1;i<=n;i++)
	 for(j=1;j<=i;j++)
	 {
	 	if(j==1||j==i)//该行的第一个和该行的最后一个数据都是1 
	  		a[i][j]=1;
		else	  
	  		a[i][j]=a[i-1][j-1]+a[i-1][j];//杨辉三角基本公式
	 }
	 //下面为输出数据 
	 	for(i=1;i<=n;i++)
	 	{
	 		for(j=1;j<=i;j++)
	 		{
	 			cout<<a[i][j];
		  	}
		  cout<<endl;
	 	}
 		return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

Code::Blocks下载安装教程

Code::Blocks下载安装教程

Code::Blocks 是一款免费、开源且跨平台的 C/C++ 集成开发环境。它支持 Windows、Linux 和 macOS 等多种操作系统,核心特点是轻量快速、纯专注于 C/C++ 开发,并内...

【题解】均分纸牌

【题目描述】有n堆纸牌,编号分别为 1,2,…, n。每堆上有若干张,但纸牌总数必为n的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在...

【数论】均值不等式

【数论】均值不等式

均值不等式是高中常见的一个知识点,下面这篇文章做一下简单总结。1、其中a,b属于实数R,当且仅当a=b时,等号成立。这个也叫基本不等式2、其中a,b属于正实数,当且仅当a=b时,等号成立。3、其中a,...

【图】并查集—基本概念

【图】并查集—基本概念

1.引入    对于一个集合S={a1, a2, …, an-1, an},我们还可以对集合S进一步划分: S1,S2,…,Sm-1,Sm,我们希望能够快速确定...

DEVC++中的断点调试

DEVC++中的断点调试

1.调试程序的两种方法编程的时候经常会遇到自己的输出结果跟标准结果或者预期的结果不一样,这个时候就要用到调试程序的功能。调试程序的目的有两个,一个是找出程序中的错误,另一个是监视变量的变化。2.DEV...

树的遍历

在应用树结构解决问题时,往往要求按照某种此项获得树中全部结点的信息,这种操作叫做树的遍历。遍历的方法有很多种。常用的有:A. 先序遍历:先访问根结点,再从左到右按照先序思想遍历各子树。B. 后序遍历:...