斐波那契?
程序员文章站
2022-03-31 23:02:37
...
斐波那契?
Time Limit: 1000 ms Memory Limit: 32768 KiB
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;
}