打印斐波那契三角形的程序


斐波那契三角形的每一行都包含一个斐波那契数列。什么是斐波那契数列?

在斐波那契数列中,每个数字都等于它前面两个整数的和。该数列的前两个数字是 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+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.