Go實現楊輝三角的輸出

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

概述

前提:端點的數為1.
每個數等於它上方兩數之和。
每行數字左右對稱,由1開始逐漸層大。
第n行的數字有n項。
第n行數字和為2n-1。
第n行的m個數可表示為 C(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。
第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。
每個數字等於上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第n+1行的第i個數等於第n行的第i-1個數和第i個數之和,這也是組合數的性質之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。
(a+b)n的展開式中的各項係數依次對應楊輝三角的第(n+1)行中的每一項。
將第2n+1行第1個數,跟第2n+2行第3個數、第2n+3行第5個數……連成一線,這些數的和是第4n+1個斐波那契數;將第2n行第2個數(n>1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。
將各行數字相排列,可得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。

Go語言的代碼實現:

package mainimport "fmt"var a int = 10var triangle [10][10]intfunc main() {for j := 0; j < a; j++ {triangle[j][0] = 1triangle[j][j] = 1}for j := 2; j < a; j++ {for n := 1; n < j; n++ {triangle[j][n] = triangle[j-1][n-1] + triangle[j-1][n]}}for x := 0; x < a; x++ {fmt.Print(x)for m := a - x; m >= 0; m-- {fmt.Print(" ")}for n := 0; n <= x; n++ {fmt.Print(triangle[x][n], " ")}fmt.Println()}}
1234567891011121314151617181920212223242526272829303132 package main import "fmt" var a int = 10var triangle [10][10]int func main() {for j := 0; j < a; j++ {triangle[j][0] = 1triangle[j][j] = 1} for j := 2; j < a; j++ {for n := 1; n < j; n++ {triangle[j][n] = triangle[j-1][n-1] + triangle[j-1][n]}} for x := 0; x < a; x++ {fmt.Print(x)for m := a - x; m >= 0; m-- {fmt.Print(" ")} for n := 0; n <= x; n++ {fmt.Print(triangle[x][n], " ")}fmt.Println()} }

:

Go實現楊輝三角的輸出
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.