91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用java實現楊輝三角的示例代碼

發布時間:2020-10-13 10:53:51 來源:腳本之家 閱讀:290 作者:白晝黯淡了星光 欄目:編程語言

之前有學弟問過我一道java的面試題,題目不算難。用java實現楊輝三角。我花了點時間整理了一下,發現挺有意思的,于是想寫下來分享一下。在寫代碼之前,我們先理清下面兩個問題。

什么是楊輝三角

楊輝三角,是二項式系數在三角形中的一種幾何排列。在我國南宋數學家楊輝1261年所著的《詳解九章算法》有提到過。在歐洲叫做帕斯卡三角形,如圖。

用java實現楊輝三角的示例代碼

楊輝三角

楊輝三角的規律即原理

1.每個數等于它上方兩數之和。

2.每行數字左右對稱,由1開始逐漸變大。

3.第n行的數字有n項。

4.第n行數字和為2n-1。

5.第n行的m個數可表示為 C(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。

6.第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。

7.每個數字等于上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第n+1行的第i個數等于第n行的第i-1個數和第i個數之和,這也是組合數的性質之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

8.(a+b)n的展開式中的各項系數依次對應楊輝三角的第(n+1)行中的每一項。

9.將第2n+1行第1個數,跟第2n+2行第3個數、第2n+3行第5個數……連成一線,這些數的和是第4n+1個斐波那契數;將第2n行第2個數(n>1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。

10.將各行數字相排列,可得11的n-1(n為行數)次方:1=11^0; 11=11^1; 121=11^2……當n>5時會不符合這一條性質,此時應把第n行的最右面的數字"1"放在個位,然后把左面的一個數字的個位對齊到十位... ...,以此類推,把空位用“0”補齊,然后把所有的數加起來,得到的數正好是11的n-1次方。以n=11為例,第十一行的數為:1,10,45,120,210,252,210,120,45,10,1,結果為 25937424601=1110。

清楚了這兩點之后,我們的思路就十分的清晰了。實現的方法有很多種,這里我打算用二維數組加雙重for循環來實現。

demo代碼:

public class Yanghui {
  public static void main(String[] args) {
    // 創建二維數組
    int t[][]=new int[10][];
    // 遍歷二維數組的第一層
    for (int i = 0; i < t.length; i++) {
      // 初始化第二層數組的大小
      t[i]=new int[i+1];
      // 遍歷第二層數組
      for(int j=0;j<=i;j++){
        // 將兩側的數組元素賦值為1
        if(i==0||j==0||j==i){
          t[i][j]=1;
        }else{
          // 其他數值通過公式計算
          t[i][j]=t[i-1][j]+t[i-1][j-1];
        }
        // 輸出數組元素
        System.out.print(t[i][j]+"\t");     
      }
      //換行
      System.out.println();        
    }
  }
}

輸出在控制臺的結果如下:

用java實現楊輝三角的示例代碼

這里只輸出了十行的楊輝三角。優化一下,可以改成動態的獲取行數。也可以變成正三角,只需在加一個循環用來計算空格。有興趣的同學可以嘗試一下。 ———來自java十八線程序猿

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南郑县| 蒙山县| 本溪市| 祁东县| 祁连县| 塘沽区| 华亭县| 通渭县| 长宁县| 曲水县| 温泉县| 黑水县| 陆丰市| 来凤县| 文水县| 白朗县| 孟州市| 商洛市| 宣汉县| 二连浩特市| 安宁市| 金乡县| 张家川| 榆林市| 高邑县| 六安市| 五原县| 长宁县| 博爱县| 师宗县| 神农架林区| 防城港市| 呈贡县| 江安县| 重庆市| 安乡县| 万州区| 金华市| 轮台县| 白玉县| 繁峙县|