巴斯卡三角形(Pascal)

时间:2022-08-17 11:14:26

北宋人贾宪约1050年首先使用"贾宪三角"进行高次开方运算。

杨辉,字谦光,南宋时期杭州人。在他1261年所著的《详解九章算法》一书中,辑录了如上所示的三角形数表,称之为"开方作法本源"图,并说明此表引自11世纪前半贾宪的《释锁算术》,并绘画了"古法七乘方图"。故此,杨辉三角又被称为"贾宪三角"

元朝数学家朱世杰在《四元玉鉴》(1303年)扩充了"贾宪三角""古法七乘方图"

意大利人称之为"塔塔利亚三角形"Triangolo di Tartaglia)以纪念在16世纪发现一元三次方程解的塔塔利亚。

在欧洲直到1623年以后,法国数学家帕斯卡在13岁时发现了"帕斯卡三角"

布莱士帕斯卡的著作Traité du triangle arithmétique1655年)介绍了这个三角形。帕斯卡搜集了几个关于它的结果,并以此解决一些概率论上的问题,影响面广泛,Pierre Raymond de Montmort1708年)和亚伯拉罕??美弗(1730年)都用帕斯卡来称呼这个三角形。

近年来国外也逐渐承认这项成果属于中国,所以有些书上称这是"中国三角形"Chinese triangle

历史上曾经独立绘制过这种图表的数学家

  • 贾宪 中国北宋 11世纪 《释锁算术》
  • 杨辉 中国南宋1261《详解九章算法》记载之功
  • 朱世杰 中国元代 1299《四元玉鉴》级数求和公式
  • 阿尔 卡西 阿拉伯 1427《算术的钥匙》
  • 阿皮亚纳斯德国 1527
  • 施蒂费尔 德国 1544《综合算术》二项式展开式系数
  • 薛贝尔 法国 1545
  • 帕斯卡 法国 1654《论算术三角形》


巴斯卡三角形(Pascal)

C语言版本(算法思路可参照搜搜百科):

#include "stdio.h"
#include "conio.h"
#define N 12
long Pascal(int n, int r)
{
	int p = 1;
	for(int i =1 ; i <= r ; i++)
	{
		p = p * (n-i+1)/i;
		
	}
	return p;
}
void paint()
{
	for(int i = 0; i < N ; i ++)
	{
		   //先打印空格
			for(int j = 0; j < N-i; j ++ )
				printf("  ");
			for( int j = 0; j <= i ; j ++)
			{
				printf("%4d",Pascal(i,j));
			}
			printf("\n");
	}	
}
int main()
{
	
	paint();
	getch();

}

参考博客:http://blog.csdn.net/yxstars/article/details/8664955