HDU 1005 Number Sequence

来源:互联网 发布:网络电子备课系统 编辑:程序博客网 时间:2024/05/21 07:12

链接 : 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;}

0 0
原创粉丝点击