在我讲解杨辉三角形的时候,我们先来认识一下杨辉三角形
图一
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
图二
杨辉三角形是一个不能少于三行的数字群,我们来看图二来分析这个杨辉三角形会更好一点。从第二行(我们是从第0行来开始计数的)的第一列开始,(也就是非1的部分),每个数都是该数的左上角数与该数的正上面的的数之和。
我们进一步分析,只用第0列和
行号和列号相同的时候数值才是1。
因此我们写代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace yhTriangle
{
class Program
{
/* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
*/
static void Main(string[] args)
{
Triangle(9);
Console.ReadLine();
}
//定义一个函数
static void Triangle(int n) {
//定义一个数组,用来存放数据
int[,] tri = new int[n, n];
//外循环控制行数
for (int i = 0; i < n; i++) {
//内循环控制列数
for (int j = 0; j <= i; j++) {
//当行号和列号相同的时候,我们来存放1
if (j == 0 || i == j)
{
tri[i, j] = 1;
}
//否则我们存放tri[i-1, j-1] 与tri[i-1, j]之和
else if((j>0 && j<i))
{
tri[i, j] = tri[i-1, j-1] + tri[i-1, j];
}
}
}
//打印杨辉三角形
for (int i = 0; i < n; i++) {
for (int k = 0; k < n - i - 1; k++)
{
Console.Write(" ");
}
for (int j = 0; j <= i; j++)
{
Console.Write(tri[i, j] + " ");
}
Console.WriteLine();
}
}
}
}