PS:再次感谢官方大大推荐的关注,非常非常蟹蟹啦
关于杨辉三角,这里引用百度百科的简介
杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。
我们可能在做题目的时候经常遇见它
然鹅只要我们掌握杨辉三角的规律
那我们就可以很简单的将他输出与倒输出了
我们现在看一张杨辉三角的图像
那我们可以从上面看出什么呢
除了1的数
它等于上面两个数的相加
也就是
yh[i][j] = yh[i - 1][j] + yh[i - 1][j - 1];
//yh[i][j]中的 i 表示不是1的数纵坐标,j 表示横坐标//该式为上面两个数的相加等于yh[i][j]//PS:yh为存储杨辉三角的一个数组
可能有同学不怎么理解
为神马类
那我们去掉前面空格大家康康
杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
这样大家是不是就感觉突然明了了嘞
好
那我们知道了它规律
我们要怎么写呢?
PS:我们这里为了方便输出正向杨辉三角和倒向杨辉三角将代码分成两部分
我们先看第一部分:
#include<stdio.h>
#include<iostream>
using namespace std;//使用C++ 的cin 和cout 要的加的哦
int yh[13][13];
//(这里只把杨辉三角范围规范到12行,大家可以自行添加)
int main()
{int n;int i, j,l;cin >> n;
//C++里用的输入和输出很方便,大家就算在学c也可以先了解一点C++的基础知识哦for (i = 1; i <= n; i++){for (j = 1; j <= i; j++){if (i == j || j == 1)
//这里就可以让最左边和最右边为始终为0yh[i][j] = 1;elseyh[i][j] = yh[i - 1][j] + yh[i - 1][j - 1];
//该项等于上面两项的和}}
return 0;
}
这一部分做了什么呢
这里就将杨辉三角(没有前面空格的)导入
进去 yh 里面
然后嘞我们就要输出这个杨辉三角
正向输出代码如下:
for (i = 1; i <=n; i++){for (j = i; j <n; j++){cout << " ";
//根据行号输出 空格,这里要注意i 与j 的关系及设计成这样的原因 }for (l = 1; l <= i; l++)cout << yh[i][l] << " ";
//打印我们之前存储的(前面没空格的)杨辉三角cout << endl;
//表示换行}
哦空空
大家相必已经理解这个正向输出的杨辉三角
那么下面的倒向我们也可以轻易的
理解并掌握了呀
倒向杨辉三角如下:
for (i = n; i >0; i--){for (j = 1; j < n-i+1; j++){cout << " ";}for (l = 1; l <= i; l++)cout << yh[i][l] << " ";cout << endl;}
好的
到这里
大家一定掌握了杨辉三角
恭喜恭喜呀
要继续加油哦
PS:希望大家看了这篇文章后就懂得杨辉三角的正向和倒向输出了哦 就是酱紫 大家的支持是我的动力源泉 谢谢大家 拜拜xdm!(有错误欢迎私信我哦)