用JAVA實現(xiàn)楊輝三角實例
這是我的第一篇文章,我的想法是把自己再學(xué)習(xí)的路上遇到的困難都給記錄下來,一來是方便以后的自我復(fù)習(xí),二來就是大家資源共享,幫助和我一樣遇到困難的小伙伴們。
這是我遇到的第一個難題。
題目是:
楊輝三角形又稱Pascal三角形,它的第i+1行是(a+b)i的展開式的系數(shù)。它的一個重要性質(zhì)是:三角形中的每個數(shù)字等于它兩肩上的數(shù)字相加。
輸入包含一個數(shù)n。(1 <= n <= 34)
輸出格式:n=5:數(shù)和數(shù)之間有空格
??????? ???????

首先我們應(yīng)該想著如何打印一個邊長=n等邊直角三角形,這里我們可以運用 嵌套循環(huá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(); //換行
}
}
}運行結(jié)果如下:

現(xiàn)在我們就想著如何將0分別改為對應(yīng)的數(shù)字即可,這里我們應(yīng)用到 二維數(shù)組(int [][]sc=new int[列][行];) 既可以知道每個數(shù)對應(yīng)的位置,也可以讓每個數(shù)之間存在了聯(lián)系。
首先定義長度:這里大家要明白長度的定義為:每個數(shù)都有家可尋。
下圖可以清晰地解釋:下一行的數(shù)等于“肩上”兩數(shù)之和。

具體實現(xiàn)代碼如下 :
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];//下一行的數(shù)等于“肩上”兩數(shù)之和。
}
}
}
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(); // 換行
}
}
}這題到這也就結(jié)束了,后續(xù)還會繼續(xù)更新我在學(xué)習(xí)中遇到的的較為困難的題目和大家分享,大家要是喜歡的話可以點個關(guān)注,防丟失。大家也可以私信我自己在學(xué)習(xí)中遇到的難題,大家共同學(xué)習(xí),共同進步。
到此這篇關(guān)于用JAVA實現(xiàn)楊輝三角實例的文章就介紹到這了,更多相關(guān)JAVA楊輝三角內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jmeter壓力測試工具簡介_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細介紹了jmeter壓力測試工具相關(guān)介紹資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
SpringBoot與單元測試JUnit的結(jié)合操作
這篇文章主要介紹了SpringBoot與單元測試JUnit的結(jié)合操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10

