【C#】迴圈小練習 巴斯卡三角形,在中國叫做「賈憲三角」或「楊輝三角」
「巴斯卡三角形」的方法是這樣的:先在紙上寫出一行和一列的「1」,然後在各個位置中填入數字,每一個位置上的數字都是它上面一個數和左邊一個數的和。
程式練習如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lesson_01_05
{
class Program
{
//列印巴斯卡三角形
static void Main(string[] args)
{
Console.Write("請輸入一個字元:");
int num = Convert.ToInt32( Console.ReadLine());
Console.WriteLine("輸入碼為:{0}", num);
int[,] ary = getTriangle(num);
print(ary);
Console.ReadLine();
}
private static int[,] getTriangle(int num)
{
int[,] ary = new int[num, num];
for (int i = 0; i < num; i++)
{
//設定直邊與斜邊都是1
ary[i, 0] = 1;
ary[i, i] = 1;
}
for (int i = 1; i < num; i++) //外迴圈
{
for (int j = 1; j <= i; j++) //內迴圈
{
//內部數字要等同位置上方和左上角的和
ary[i, j] = ary[i - 1, j - 1] + ary[i - 1, j];
}
}
return ary;
}
private static void print(int[,] ary )
{
for (int i = 0; i < ary.GetLength(0); i++) //取得陣列的列數 //外迴圈
{
for (int j = 0; j <= i; j++)//內迴圈
{
int s = ary[i, j];
Console.Write(" {0} " ,s);
}
Console.WriteLine();
}
}
}
}
水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。