【C#】迴圈小練習 巴斯卡三角形

  • 3054
  • 0
  • C#
  • 2017-07-31

【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();
            }

        }

    }
}

 

水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。