链接 : http://acm.hdu.edu.cn/showproblem.php?pid=1005
题意 : 给定a,b,n, 存在下面的序列 : s[1]=s[2]=1,s[n]=(a*s[n-1]+b*s[n-2])%7,计算出第n项
强行算的话肯定会耗时耗空间,找规律,每7个数取模,貌似是7个一循环,但是暴力后得知7*7=49一循环
#include <iostream>
using namespace std;
int main()
{
int ans[50],a,b,n;
while(cin>>a>>b>>n,a+b+n)
{
n%=49;
ans[0]=ans[1]=1;
for(int i=2;i<=n;i++)
ans[i]=(ans[i-1]*a+ans[i-2]*b)%7;
cout<<ans[n-1]<<endl;
}
return 0;
}