记录编号 44166 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 数列求值 最终得分 100
用户昵称 GravatarTruth.Cirno 是否通过 通过
代码语言 C++ 运行时间 0.027 s
提交时间 2012-10-17 08:01:28 内存使用 3.15 MiB
显示代码纯文本
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. int main(void)
  6. {
  7. freopen("sequenceb.in","r",stdin);
  8. freopen("sequenceb.out","w",stdout);
  9. int i,a,b,n,temp,nex[3][3]={{0,1,2},{1,2,0},{2,0,1}};
  10. int T,f[100]={0};
  11. cin>>a>>b>>n;
  12. if (n<=10000000)
  13. {
  14. f[0]=1;
  15. f[1]=1;
  16. for (i=3;i<=n;i++)
  17. {
  18. temp=i%3;
  19. f[nex[temp][2]]=(a*f[nex[temp][1]]+b*f[nex[temp][0]])%7;
  20. }
  21. cout<<f[nex[n%3][2]]<<endl;
  22. }
  23. else
  24. {
  25. f[1]=1;
  26. f[2]=1;
  27. for (i=3;i<100;i++)
  28. {
  29. f[i]=(a*f[i-1]+b*f[i-2])%7;
  30. if (f[i]==1&&f[i-1]==1)
  31. break;
  32. }
  33. T=i-2;
  34. n%=T;
  35. if (n==0)
  36. n=T;
  37. cout<<f[n]<<endl;
  38. }
  39. return(0);
  40. }