C语言数列 问题,求数列的 前20项

设有一个数列,它的前四项为0,0,2,5,以后每项分别是其前四项之和,编程求此数列的前20项 C语言


#include <stdio.h>
int main()
{
    int a = 0, b = 0, c = 2, d = 5;
    int t, sum = 7;
    int i = 5;
    for (; i <= 20; i++)
    {
        t = a + b + c + d;
        a = b;
        b = c;
        c = d;
        d = t;
        sum += t;
    }
    printf("%d", sum);
    return 0;
}

通过递归:

#include<stdio.h>
int f(int n)
{
    if(n == 1 || n == 2) return 0;
    else if (n == 3) return 2;
    else if (n == 4) return 5;
    else return f(n - 1) + f(n - 2) + f(n - 3) + f(n - 4);
}
int main()
{
    int N = 20;
    int sum = 0;
    int i;
    
    for(i = 0; i < N; i++)
    {
        sum += f(i + 1);
    }
    
    printf("sum=%d\n", sum);
    
    return 0;
}

你的这个问题类似于斐波那契数列,可以用动态规划来做~
可以参考leetcode的题解https://leetcode-cn.com/problems/fibonacci-number/solution/fei-bo-na-qi-shu-by-leetcode-solution-o4ze/
希望你可以通过这个学到知识~而不是直接copy

如有帮助请采纳回答~