C++ 打印斐波那契三角形的程序
斐波那契数列可以在斐波那契三角形的每一行中找到。何为斐波那契数列?
在斐波那契数列中,每个数字等于它前面两个整数的和。这个数列的前两个数字是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编程代码。在此程序中,我们为斐波那契三角形的限制提供输入,并打印给定次数或提供的限制的斐波那契序列。