欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

斐波那契?

程序员文章站 2022-03-31 23:02:37
...

斐波那契?

Time Limit: 1000 ms Memory Limit: 32768 KiB

Submit Statistic Discuss

Problem Description

给出一个数列的递推公式,希望你能计算出该数列的第N个数。递推公式如下:

F(n)=F(n-1)+F(n-2)-F(n-3). 其中,F(1)=2, F(2)=3, F(3)=5.

很熟悉吧,可它貌似真的不是斐波那契数列呢,你能计算出来吗?

Input

   输入只有一个正整数N(N>=4).

Output

   输出只有一个整数F(N).

Sample Input

5

Sample Output

8

 

 

 

 

#include <iostream>
#include <math.h>
#include <cstdio>
using namespace std;
int fib(int n)
{
   int f;
   if(n==1)
    f = 2;
    else if(n==2)
    f=3;
    else if(n==3)
    f=5;
   else
    f = fib(n-1) + fib(n-2)-fib(n-3);
   return f;
}
int main()
{
   int n;
   cin>>n;
   int d= fib(n);
   cout<<d<<endl;
    return 0;
}