题意不讲了,找规律。
直接带进去算了一个规律,f(n) = f(n-4) + f(n-2) + f(n-1),带进去算就对了。
证明不造T T。
代码:
//f(n) = f(n-4) + f(n-2) + f(n-1);
#include <stdio.h>
int a[1001][300];
void fun()
{
a[1][1] = 1;
a[2][1] = 2;
a[3][1] = 4;
a[4][1] = 7;
for (int i = 5; i < 1001; i++)
{
int yu = 0;
for (int j = 1; j < 300; j++)
{
int t = a[i - 4][j] + a[i - 2][j] + a[i - 1][j] + yu;
a[i][j] = t % 10;
yu = t / 10;
}
}
}
int main()
{
int n;
fun();
while (scanf("%d", &n) != EOF)
{
int i = 299;
while (i > 0 && !a[n][i])
i--;
for (; i > 0; i--)
printf("%d", a[n][i]);
printf("\n");
}
return 0;
}