解题思路:
第一次为政治,f(1)=1;第二次为历史,f(2)=1;第三次可能为政治或地理,则f(3)=2;同理,f(4)=3,f(5)=5;
注意事项:要输入的n最大值为10000,long long 也会超出范围,所以每次输出结果都要mod7654321.
参考代码:
#include<stdio.h>
#include<math.h>
//using namespace std;
int main()
{
int n,i;
long a[10001];
scanf("%d",&n);
a[1]=1;
a[2]=1;
for(i=3;i<=n;i++)
a[i]=(a[i-1]+a[i-2])%7654321;
printf("%d",a[n]);
system("pause");
return 0;
}
0.0分
4 人评分