蓝桥杯 基础练习 杨辉三角形 JAVA
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯 基础练习 杨辉三角形 JAVA
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問(wèn)題
問(wèn)題描述
楊輝三角形又稱Pascal三角形,它的第i+1行是(a+b)i的展開(kāi)式的系數(shù)。
它的一個(gè)重要性質(zhì)是:三角形中的每個(gè)數(shù)字等于它兩肩上的數(shù)字相加。
下面給出了楊輝三角形的前4行:
???1
??1 1
?1 2 1
1 3 3 1
給出n,輸出它的前n行。
輸入格式
輸入包含一個(gè)數(shù)n。
輸出格式
輸出楊輝三角形的前n行。每一行從這一行的第一個(gè)數(shù)開(kāi)始依次輸出,中間使用一個(gè)空格分隔。請(qǐng)不要在前面輸出多余的空格。
樣例輸入
4
樣例輸出
1
1 1
1 2 1
1 3 3 1
數(shù)據(jù)規(guī)模與約定
1 <= n <= 34。
思路
- 楊輝三角每行的首尾都是1,三角內(nèi)部數(shù)字等于它兩肩上的數(shù)字相加
- 題目要求直角三角形
- 第i行就有i個(gè)數(shù),嵌套循環(huán)
- 運(yùn)用二維數(shù)組建立空間
代碼
import java.util.Scanner;//楊輝三角形 public class Demo10 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int arr[][] = new int [n][n];for(int i=0;i<n;i++) {for(int j=0;j<=i;j++) {if(j==0||j==i) {arr[i][j]=1;}else {arr[i][j]=arr[i-1][j]+arr[i-1][j-1];} }}for(int i=0;i<n;i++) {for(int j=0;j<=i;j++) {System.out.print(arr[i][j]+" ");}System.out.println();}sc.close();} }總結(jié)
- 我看題時(shí)明白是求直角三角形,但沒(méi)注意題目要求輸出時(shí)各數(shù)中間要使用一個(gè)空格,典型的沒(méi)仔細(xì)審題,導(dǎo)致在運(yùn)行時(shí)沒(méi)問(wèn)題但提交全是錯(cuò)誤,一直找不到原因。一定一定一定要仔細(xì)看題!!!
拓展
接下來(lái)我們?cè)僭囍鲆幌碌妊切?/p>
其實(shí)賦值依然不變,但是輸出打印時(shí)注意前面有空格了
import java.util.Scanner;//等腰楊輝三角形 public class Demo10_1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int arr[][] = new int[n][n];for(int i=0;i<n;i++) {for(int j=0;j<=i;j++) {if(j==0||j==i) {arr[i][j]=1;}else {arr[i][j]=arr[i-1][j]+arr[i-1][j-1]; }}}for(int i=0;i<n;i++) {for(int j=n-i;j>1;j--) {//打印空格 循環(huán)條件也可以是(int j=0;j<n-i-1;j++)System.out.print(" ");}for(int k=0;k<=i;k++) {System.out.print(arr[i][k]+" "); }System.out.println();}} }?
致讀者?
請(qǐng)?zhí)貏e注意,在藍(lán)橋杯練習(xí)系統(tǒng),Java的主類名必須是Main
菜鳥(niǎo)正在學(xué)習(xí),慢慢進(jìn)步,如有意見(jiàn)或建議,望大佬指正!歡迎評(píng)論留言
總結(jié)
以上是生活随笔為你收集整理的蓝桥杯 基础练习 杨辉三角形 JAVA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。