打印杨辉三角

打印杨辉三角
杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(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)。
因此代码如下:

#include<stdio.h>
//杨辉三角
int main()
{
	const int n = 11;
	int i, j, a[n][n];

	//使第一列和对角线元素的值为1
	for (i = 1; i<n; i++)
	{			//前两行全为1,拿出来单独处理
		a[i][i] = 1;
		a[i][1] = 1;
	}

	for (i = 3; i<n; i++)				
		for (j = 2; j <= i - 1; j++) 
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];//每个数等于它上方两数之和,如a32=a21+a22

	//输出数组各元素的值
	for (i = 1; i<n; i++){			//从第一行开始
		for (j = 1; j <= i; j++)			//利用j将每一行的数据全部输出
			cout << setw(5) << a[i][j] << " ";	//在C++中,setw(int n)用来控制输出间隔,这里是指前元素末尾与后元素末尾之间有个5空格位
		cout << endl;
	}
	cout << endl;
	return 0;
}

结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值