那位大佬可以告诉我怎么弄吗?

一个数列有以下规律:

数列的第一项、第二项和第三项都是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;
}

我不会要把它写成代码啊,求大佬解答
可以再帮我弄个运行截图吗?拜托了拜托了