记录编号 |
44166 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
数列求值 |
最终得分 |
100 |
用户昵称 |
Truth.Cirno |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.027 s |
提交时间 |
2012-10-17 08:01:28 |
内存使用 |
3.15 MiB |
显示代码纯文本
- #include <iostream>
- #include <cstdio>
- using namespace std;
-
- int main(void)
- {
- freopen("sequenceb.in","r",stdin);
- freopen("sequenceb.out","w",stdout);
- int i,a,b,n,temp,nex[3][3]={{0,1,2},{1,2,0},{2,0,1}};
- int T,f[100]={0};
- cin>>a>>b>>n;
-
-
-
- if (n<=10000000)
- {
- f[0]=1;
- f[1]=1;
- for (i=3;i<=n;i++)
- {
- temp=i%3;
- f[nex[temp][2]]=(a*f[nex[temp][1]]+b*f[nex[temp][0]])%7;
- }
- cout<<f[nex[n%3][2]]<<endl;
- }
-
-
-
- else
- {
- f[1]=1;
- f[2]=1;
- for (i=3;i<100;i++)
- {
- f[i]=(a*f[i-1]+b*f[i-2])%7;
- if (f[i]==1&&f[i-1]==1)
- break;
- }
- T=i-2;
- n%=T;
- if (n==0)
- n=T;
- cout<<f[n]<<endl;
- }
-
-
-
- return(0);
- }