今天上了C#的课,课堂上又出现了那个杨辉三角,以前是看过了,是很简单,但记不起。
现在把它抄在这里,怕以后人家面试我时不会答。
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace YangHuiTriangle
6{
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 const int M = 7;//定义一个常量M用来行数
12 int[][] yhsj = new int[M][];//该数组用来存放杨辉三角
13 int i, j;
14 for (i = 0; i < M; i++) //该循环为每行分配存储空间
15 yhsj[i] = new int[i + 1];
16 for (i = 0; i < M; i++)//首列和对角线赋值1
17 {
18 yhsj[i][0] = 1;
19 yhsj[i][i] = 1;
20 }
21 for (i = 2; i < M; i++)
22 for (j = 1; j < i; j++)
23 //其它元素是前一行的前一列和前一行的当前列的和
24 yhsj[i][j] = yhsj[i - 1][j - 1] + yhsj[i - 1][j];
25 for (i = 0; i < M; i++)
26 {
27 Console.WriteLine();//换行
28 for (j = 0; j <= i; j++)
29 Console.Write("{0} ", yhsj[i][j]);
30 }/**//*此循环用来输出杨辉三角*/
31 Console.Read();
32 }
33 }
34}
35
2using System.Collections.Generic;
3using System.Text;
4
5namespace YangHuiTriangle
6{
7 class Program
8 {
9 static void Main(string[] args)
10 {
11 const int M = 7;//定义一个常量M用来行数
12 int[][] yhsj = new int[M][];//该数组用来存放杨辉三角
13 int i, j;
14 for (i = 0; i < M; i++) //该循环为每行分配存储空间
15 yhsj[i] = new int[i + 1];
16 for (i = 0; i < M; i++)//首列和对角线赋值1
17 {
18 yhsj[i][0] = 1;
19 yhsj[i][i] = 1;
20 }
21 for (i = 2; i < M; i++)
22 for (j = 1; j < i; j++)
23 //其它元素是前一行的前一列和前一行的当前列的和
24 yhsj[i][j] = yhsj[i - 1][j - 1] + yhsj[i - 1][j];
25 for (i = 0; i < M; i++)
26 {
27 Console.WriteLine();//换行
28 for (j = 0; j <= i; j++)
29 Console.Write("{0} ", yhsj[i][j]);
30 }/**//*此循环用来输出杨辉三角*/
31 Console.Read();
32 }
33 }
34}
35
来源:https://www.cnblogs.com/bankey/archive/2006/04/04/366499.html