一个数列有以下规律:
数列的第一项、第二项和第三项都是1,但从第四项开始就符合以下这条等式F(n)=F(n-1)+F(n-2)+F(n-3)
即:
F(1)=1
F(2)=1
F(3)=1
F(4)=F(3)+F(2)+F(1)
F(5)=F(4)+F(3)+F(2)
……
求这个数组的第20个数是多少?
如果只是求第20个数就挨个推导不就行了
#include <iostream>
using namespace std;
int f(int n){
int l[4] = {1,1,1,0};
if(n<=3)
return 1;
n-=3;
while(n--){
l[3] = 0;
for( int i = 0; i < 3; i++ ){
l[3] += l[i];
l[i] = l[i+1];
}
}
return l[3];
}
int main(){
int n;
cout << "求第几项: ";
cin >> n;
cout << "第" << n << "项 = " << f(n) << endl;
}
我不会要把它写成代码啊,求大佬解答
可以再帮我弄个运行截图吗?拜托了拜托了