📜  C C++程序,用于斐波那契数列的数字的n倍(1)

📅  最后修改于: 2023-12-03 15:29:41.995000             🧑  作者: Mango

斐波那契数列的数字的n倍

斐波那契数列是一个典型的递归问题,其数列从第三项开始,每一项都等于前两项之和。该数列的前几项为: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 倍。

结语

斐波那契数列是一个非常古老的数列,具有广泛的应用。本程序的实现旨在让初学者理解递归的实现方式,希望大家能够从中受益,在以后的编程学习中更进一步。