楊輝三角線的推理:
楊輝三角形性質:?
每行數字左右對稱,由 1 開始逐漸變大,然後變小,回到 1。?
第 n 行的數字個數為 n 個。?
第 n 行數字和為 2^(n-1) 。?
每個數字等於上壹行的左右兩個數字之和。可用此性質寫出整個楊輝三角形。?
第 n 行的第 1 個數為 1,第二個數為 1× (n-1) ,第三個數為 1× (n-1) × ( n-2) /2,第四個數為?1× (n-1) × (n-2) /2× (n-3) /3…依此類推。
算法原理:
使用壹個二維數組 yh[][] 存儲楊輝三角形的數據,行和列的大小為所需要輸出的行數 Row(本程?序中 Row 為 10)。
使用 for 循環使楊輝三角中除了最外層(不包括楊輝三角底邊)的數為 1 ;?
使用語句 yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j] 使第 i 行第 j 列的數據等於第(i-1) 行?
第(j-1)列的數據與第(i-1)行第(j)列的數據之和,即每個數字等於上壹行的左右兩個數字之和。
代碼的實現
package?com.practice;?public?class?YangHuiSanJiao?
{?
public?static?void?main(String[]?args)?{?
int?[][]a?=?new?int?[10][10];?
for(int?n?=?0;?n?<?10;n++)?
{?
a[n][0]?=?1;? a[n][n]?=?1;?}?
for(int?n?=?2;?n?<10;?n++)?
{?
for(int?j?=?1;?j?<?n;?j++)?
{?
a[n][j]?=?a[n?-1][j?-1]?+?a[n?-?1][j];?}?
}?
for(int?n?=?0;?n?<?10;?n++)?
{?
for(int?k?=?0;?k?<?2?*?(10?-?n)?-?1;?k++)?
{?
System.out.print("?");?}?
for(int?j?=?0;?j?<=?n;?j++)?
{?
System.?out.print(a[n][j]?+?"");?}?
System.out.println();?
}?
}?}