這個(gè)思想是很先進(jìn),所以分享了,大家可以參考一下,
- import java.util.Scanner;
- /**
- * 輸出的結(jié)果為為下所示:
- * 1
- 1 1
- 1 2 1
- 1 3 3 1
- 1 4 6 4 1
- * @author 王新
- *
- */
- public class Test {
-
- public static long combi(int n, int r) {
- long p = 1;
- //思想就是在每一行的開始第一個(gè)數(shù)字是1,然后第二個(gè)數(shù)字是前一個(gè)數(shù)字乘以行數(shù)-1,再除以循環(huán)的次數(shù)就行可以了
- for (int i = 1; i <= r; i++)
- p = p * (n - i + 1) / i;
- return p;
- }
-
- public static void show(int n) {
- long tem ;
- for (int i = 0; i <n; i++) {
- for (int j = 0; j <n; j++) {
- if (j == 0)
- for (int k = 0; k <= (n - i); k++)
- System.out.print(" ");
- else
- System.out.print(" ");
- tem = combi(i,j);
- if(tem!=0)
- System.out.print(tem+" ");
- }
- System.out.println();
- }
- }
-
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("輸入層數(shù):");
- int n = sc.nextInt();
-
- show(n);
- }
-
- }
|