杭电1005
此題也是一道觀察規律的問題!!!不可能直接算,否這肯定超時!呵呵!!
先假設a=3,b=4,那么結果是:
0,4,5,3,1,1;呵呵!你是否發現循環了哈!!
那就對了!問題不就解決了嗎?哈!
自己創建一個數組來廚房這個循環不就ok了嗎?哈哈!
let's go!!!
#include<iostream>
using namespace std;
int main()
{
? int a,b,n,A[50],i;
? while(cin>>a>>b>>n)
? {
?? if(a==0&&b==0&&n==0)
??? break;
?? else
?? if(n<3)
??? cout<<"1"<<endl;
?? else
?? {
????????? A[1]=1;
??? A[2]=1;
???
??? for(i=3;i<=49;i++)
?{
??A[i]=(a*A[i-1]+b*A[i-2])%7;
???????? if(A[i]==1&&A[i-1]==1)
??? break;
?}
?n=n%(i-2);
??? if(n==0)
??? printf("%d\n",A[i-2]);
??? else
???? printf("%d\n",A[n]);
? }?
? }
? return 0;
? }
轉載于:https://www.cnblogs.com/xiohao/archive/2012/11/05/2755602.html
總結
- 上一篇: redis 的雪崩和穿透?
- 下一篇: Codeforces Global Ro