1. 程式人生 > >楊輝三角形(java)

楊輝三角形(java)

我剛學迴圈的時候,老師,讓我們列印楊輝三角形, 那時還沒寫陣列和遞迴,讓我們用迴圈列印楊輝三角形,我想了很久,找到了列印楊輝三角形的規律。

package com.bdqn.dreaming.Test;

import java.util.Scanner;

public class TriangleTest {
	public static void main(String[] args) {
		/*
		 * 我剛學迴圈的時候,老師,讓我們列印楊輝三角形,
		那時還沒寫陣列和遞迴,讓我們用迴圈列印楊輝三角形,我想了很久,找到了列印楊輝三角形的規律。 */
		//輸入列印楊輝三角形的行數
		Scanner input =new Scanner(System.in);
		System.out.print("輸入列印的行數:");
		int rows=input.nextInt();
		long temp=0;
		for (int i = 0; i < rows; i++) {
			for (int j = 0; j < i+1; j++) {
				if(i==0||j==0||i==1) {
					temp=1;
					System.out.print(temp);
				}else {
					/*
					 * 其中的規律,在於每行的第一個數都為1,而在同一行的數有這麼一個規律,它的下一個數等於那
					 * 個數所在行數i+1減去那個數所在的列數除於那個數所在的列數再乘前一個數
					 * 其實,你們可以去找一下規律,你從每行的第一個開始找下一個數,你看1乘什麼分數得到下一個數,然後這個數再乘什麼分數得到下一個數。
					 * 你會發現,他們乘的分數的分子分母都是遞增或遞減的。
					 */
					temp=temp*(i+1-j)/j;
					System.out.print(temp);
				}
			}
			System.out.println();
		}
		
		
		
	}
}