public static int[][] Yanghui(int n)//定义
{
int[][] a = new int[n][];//定义交错数组,n的值决定杨辉三角多少行
for (int i = 0; i < a.Length; i++)
{
a[i] = new int[i+1]; //决定杨辉三角每行数值的个数
}
for (int j = 0; j< n; j++)
{
a[j][0] = 1;//找规律 每一行的第一个数都是1;
a[j][j] = 1;//每一行的最后一个数都是1;
for (int k = 1; k < j; k++)
{
a[j][k] = a[j - 1][k - 1] + a[j - 1][k]; 从第三行起,除了第一个和最后一个数,其他数都等于上一行对应两个数之和
}
}
//现在已经可以遍历出杨辉三角的值 但还不能排成三角形,需要新的for循环定义
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < a.Length-i; j++)
{
Console.Write(" ");//定义每一行,所对应的空格数量
}
for (int k = 0; k < a[i].Length; k++)
{
Console.Write(a[i][k]+" "); //打印杨辉三角
}
Console.WriteLine();
}
return a;
}