用JAVA實現楊輝三角實例

        這是我的第一篇文章,我的想法是把自己再學習的路上遇到的困難都給記錄下來,一來是方便以後的自我復習,二來就是大傢資源共享,幫助和我一樣遇到困難的小夥伴們。

        這是我遇到的第一個難題。

        題目是:

        楊輝三角形又稱Pascal三角形,它的第i+1行是(a+b)i的展開式的系數。它的一個重要性質是:三角形中的每個數字等於它兩肩上的數字相加。

        輸入包含一個數n。(1 <= n <= 34)

       輸出格式:n=5:數和數之間有空格

                                        ​​​​​​​        ​​​​​​​

         首先我們應該想著如何打印一個邊長=n等邊直角三角形,這裡我們可以運用 嵌套循環 就可以輕松做到:

 
import java.util.Scanner;
 
public class Tast01 {
public static void main(String[] args) {
	Scanner arr=new Scanner(System .in );
	int n=arr.nextInt();
	for (int i = 0; i < n; i++) {		//行
		for (int j = 0; j <= i; j++) {	//列
			if(j==0) {
				System.out.print(0);		
			}else {
				System.out.print(" "+0);
			}
		}
		System.out.println();			//換行
	}
}
}

運行結果如下:

         現在我們就想著如何將0分別改為對應的數字即可,這裡我們應用到  二維數組(int [][]sc=new int[列][行];)  既可以知道每個數對應的位置,也可以讓每個數之間存在瞭聯系。

首先定義長度:這裡大傢要明白長度的定義為:每個數都有傢可尋。

         下圖可以清晰地解釋:下一行的數等於“肩上”兩數之和。

        具體實現代碼如下 :

 
import java.util.Scanner;
 
public class Tast02 {
	public static void main(String[] args) {
		Scanner arr = new Scanner(System.in);
		int n = arr.nextInt();								   //鍵盤輸入n
		int[][] sc = new int[n][n];
		for (int i = 0; i < sc.length; i++) {
			for (int j = 0; j <= i; j++) {
				if (j == 0 || j == i) { 					   // 第一列全為1
					sc[i][j] = 1;
				} else {
					sc[i][j] = sc[i - 1][j - 1] + sc[i - 1][j];//下一行的數等於“肩上”兩數之和。
				}
			}
		}
		for (int i = 0; i < n; i++) {                          // 行
			for (int j = 0; j <= i; j++) {					   // 列
				if (j == 0) {
					System.out.print(sc[i][j]);
				} else {
					System.out.print(" " + sc[i][j]);
				}
			}
			System.out.println(); 								// 換行
		}
 
	}
}

這題到這也就結束瞭,後續還會繼續更新我在學習中遇到的的較為困難的題目和大傢分享,大傢要是喜歡的話可以點個關註,防丟失。大傢也可以私信我自己在學習中遇到的難題,大傢共同學習,共同進步。

到此這篇關於用JAVA實現楊輝三角實例的文章就介紹到這瞭,更多相關JAVA楊輝三角內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: