📅  最后修改于: 2023-12-03 15:29:41.995000             🧑  作者: Mango
斐波那契数列是一个典型的递归问题,其数列从第三项开始,每一项都等于前两项之和。该数列的前几项为:0、1、1、2、3、5、8、13、21、34、55、89、144……
本程序实现的是输出斐波那契数列中第 n 个数字的 n 倍。
以下是C语言版的斐波那契数列的数字的n倍的代码片段:
#include<stdio.h>
#include<stdlib.h>
long fibonacci(int n);
int main()
{
int n;
printf("请输入数字 n :\n");
scanf("%d", &n);
long result = fibonacci(n);
printf("斐波那契数列第 %d 个数字的 %d 倍为: %ld\n", n, n, result);
return 0;
}
long fibonacci(int n)
{
if(n == 0 || n == 1)
return n;
else
return n * fibonacci(n-1) + fibonacci(n-2) * n;
}
以下是C++语言版的斐波那契数列的数字的n倍的代码片段:
#include<iostream>
using namespace std;
long fibonacci(int n);
int main()
{
int n;
cout << "请输入数字 n :" << endl;
cin >> n;
long result = fibonacci(n);
cout << "斐波那契数列第 " << n << " 个数字的 " << n << " 倍为:" << result << endl;
return 0;
}
long fibonacci(int n)
{
if(n == 0 || n == 1)
return n;
else
return n * fibonacci(n-1) + fibonacci(n-2) * n;
}
本程序中采用递归的方式实现斐波那契数列。首先判断这个数列中第n项是否为0或1,如果是的话,直接返回该项数字;如果不是的话,递归计算前一项和前两项的和,再将结果与n相乘,就可以得到斐波那契数列的数字的n倍。
在主函数中,用户需要输入数字n,程序通过调用 fibonacci 函数来计算并输出斐波那契数列中第 n 个数字的 n 倍。
斐波那契数列是一个非常古老的数列,具有广泛的应用。本程序的实现旨在让初学者理解递归的实现方式,希望大家能够从中受益,在以后的编程学习中更进一步。