详解扬辉三角

Posted 跳动的bit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解扬辉三角相关的知识,希望对你有一定的参考价值。

🧿 前言:杨辉三角又称贾宪三角形、帕斯卡三角形。杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国数学史上的一个伟大成就。


/***********************************************************************
目的:输出杨辉三角
分析:使用二维数组
在这里插入图片描述

平台:Visual studio 2017 && windows
*************************************************************************/
📝 实现代码1

#define _CRT_SECURE_NO_WARNINGS
#define R_C 6
#include<stdio.h>
int main()
{
	int arr[R_C][R_C] = { 0 };
	int i = 0;
	int j = 0;
	//存储
	for(i = 0; i < R_C; i++)
	{
		for(j = 0; j <= i; j++)
		{
			//列1
			if(j == 0)
			{
				arr[i][j] = 1;
			}
			//斜1
			if(j == i)
			{
				arr[i][j] = 1;
			}
			//除了1之外的数字
			if(j >= 1 && i >= 2)
			{
				arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
			}
		}
	}
	//输出样式1
	for(i = 0; i < R_C; i++)
	{
		for(j = 0; j <= i; j++)
		{
			printf("%d ", arr[i][j]);
		}
		printf("\\n");
	}
	printf("-------------分割线-------------\\n");
	//输出样式2
	for(i = 0; i < R_C; i++)
	{
		//打印空格
		for(j = 1; j < R_C - i; j++)
		{
			printf(" ");
		}
		//打印数字
		for(j = 0; j <= i; j++)
		{
			printf("%d ", arr[i][j]);
		}
		printf("\\n");
	}
	return 0;
}

⭕ 输出结果
在这里插入图片描述
在这里插入图片描述

以上是关于详解扬辉三角的主要内容,如果未能解决你的问题,请参考以下文章

20160205.CCPP体系详解(0015天)

为啥保守光栅化无法为某些三角形调用片段着色器?

为啥这个 CSS 片段可以画一个三角形? [复制]

杨辉三角(详解)

杨辉三角(详解)

杨辉三角(详解)