浙大ACM 2105

类别:编程语言 点击:0 评论:0 推荐:
/*
 *   风之彩 
 *  email:[email protected]
 */
#include <iostream.h>
int tab[100];
int main()
{
 int a,b,n;
 int i,j,result;
 bool run;
 int ibegin,iend;
 while(cin>>a>>b>>n)
 {
  if(0==a && 0==b && 0==n) break ;
  tab[1]=tab[2]=1;
  for(i=3;i<100;i++)
          tab[i]=(a*tab[i-1]+b*tab[i-2])%7;
     run=true;
  for(i=1;run && i<96;i++)
    for(j=i+2;j<100;j++)
     if( tab[i]==tab[j] && tab[i+1]==tab[j+1] )
     {
      run=false;ibegin=i;iend=j;break;
     }
 
     result=(n-ibegin)%(iend-ibegin)+ibegin;
  cout<<tab[result]<<endl;
 
 }
 return 0;
}

本文地址:http://com.8s8s.com/it/it24084.htm