非波拉契数列中,输入所需的位数,利用递归函数求出该位的值。

/************************************************
=========非波拉契递归实现=========
************************************************/

#include <stdio.h>

int func(int num) //递归函数
{
    if(num == 1 || num == 2) // 第一个第二个做特殊处理
    {
        return 1;
    }    

    else
    {
        return func(num-1)+func(num-2); //后一项等于前两项之和
    }
}

int main(void) //主函数
{
    int n,num;

    scanf("%d",&num); //获取你所需的第几个数的值

    n = func(num); //执行函数

    printf("%d\n",n);

    return 0;
}

猜你喜欢

转载自blog.csdn.net/lovelijiapu/article/details/81110908