列印斐波那契三角形的程式
斐波那契三角形的每一行都包含一個斐波那契數列。什麼是斐波那契數列?
在斐波那契數列中,每個數字都等於它前面兩個整數的和。該數列的前兩個數字是 1 和 1。
數列中的後續元素計算為其前面兩個數字的和。斐波那契數列生成如下:1+1=2,2+3=5,3+5=8,8+13=21,13+21=34,依此類推。
同樣,斐波那契三角形數列依次為 1,1,2,3,5,8,13,21,34,55…
問題陳述
實現一個列印斐波那契三角形的程式。
方法
在斐波那契三角形中,第一行包含第一個元素,即數字 1。第二行包含前一行的元素(第一行)以及它們的和。由於只有一個元素,我們將其本身作為和,即 1 和 1。移動到第三行,它包含前一行的元素(第二行)以及該行最後兩個元素的和,即 1,1,2。這裡的 2 是和。進入第四行,它包含前一行的元素(第三行)以及該行最後兩個元素的和,即 1,1,2,3。這裡的 3 是和。取第五行,它包含前一行的元素(第四行)以及該行最後兩個元素的和,即 1,1,2,3,5。這裡的 5 是和。取第六行,它包含前一行的元素(第五行)以及該行最後兩個元素的和,即 1,1,2,3,5,8。這裡的 8 是和。三角形以此方式擴充套件。
示例 1
假設我們想要列印的行數為 5。
在這種情況下,我們得到的斐波那契三角形如下所示。
1 1 1 1 1 2 (1+1=2) 1 1 2 3 (1+2=3) 1 1 2 3 5 (2+3=5)
示例 2
假設我們想要列印的行數為 8。
在這種情況下,我們得到的斐波那契三角形如下所示。
1 1 1 1 1 2 (1+1=2) 1 1 2 3 (1+2=3) 1 1 2 3 5 (2+3=5) 1 1 2 3 5 8 (3+5=8) 1 1 2 3 5 8 13 (5+8=13) 1 1 2 3 5 8 13 21 (8+13=21)
演算法
步驟 1:設定三角形的高度。(在本例中,我們將高度指定為 5)。
步驟 2:執行兩個迴圈。內迴圈列印三角形的體,而外迴圈指向每個三角形行。
步驟 3:外迴圈將在指定的高度次數內執行。內迴圈將在每次迭代中遍歷外迴圈不同的次數。它將在第一行執行一次,第二行執行兩次,依此類推。
步驟 4:斐波那契數列將在內迴圈中列印。
步驟 5:前兩個數字將顯示為 1 和 1。
步驟 6:將繼續新增前兩個數字以獲取其餘數字的值。
步驟 7:每次外迴圈迭代時,將列印一個新行以繼續移動到三角形的下一行。
實現
列印斐波那契三角形的 C 程式
示例
#include<stdio.h> #include<stdlib.h> int main() { int n1=0,n2=1,n3,n=5,i,j; for(i=1;i<=n;i++) { n1=0; n2=1; printf("%d\t",n2); for(j=1;j<i;j++) { n3=n1+n2; printf("%d\t",n3); n1=n2; n2=n3; } printf("\n"); } return 0; }
輸出
1 1 1 1 1 2 1 1 2 3 1 1 2 3 5
結論
同樣,我們可以透過將任何值輸入到 n 來找到斐波那契三角形數。
本文解決了列印斐波那契三角形的挑戰。這裡提供了列印斐波那契三角形的 C 程式設計程式碼。在這個程式中,我們為斐波那契三角形的限制提供了輸入,並且我們根據提供的次數或限制列印斐波那契數列。