代码如下:
#include <iostream>
using namespace std;
int main()
{
int n, i;
int a = 2, b = 4, c = 4;
int t;
cin >> n;
if (n == 0)
cout << 1;
else if (n == 1 || n == 2)
cout << 2;
else if (n == 3 || n == 4)
cout << 4;
else
{
for (i = 5; i <= n; i++)
{
if (i % 2 == 0)
{
a = b;
b = c;
c = c; //
}
else
{
t = a + b + c;
t = t % (1000000000 + 7);
a = b;
b = c;
c = t;
}
}
cout << c;
}
return 0;
}
mark
你题目的解答代码如下:
#include <stdio.h>
int main()
{
int n, i;
long long int a = 1, b = 2, c = 2, d = 4, e = 4, t;
scanf("%d", &n);
for (i = 2; i <= n; i++)
{
if (i % 2 == 0)
{
t = (c + d + e) % 1000000007;
}
a = b;
b = c;
c = d;
d = e;
e = t;
}
printf("%lld",a);
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!