列印斐波那契三角形的程式


斐波那契三角形的每一行都包含一個斐波那契數列。什麼是斐波那契數列?

在斐波那契數列中,每個數字都等於它前面兩個整數的和。該數列的前兩個數字是 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 程式設計程式碼。在這個程式中,我們為斐波那契三角形的限制提供了輸入,並且我們根據提供的次數或限制列印斐波那契數列。

更新於: 2023-08-23

3K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告