记录编号 44166 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 数列求值 最终得分 100
用户昵称 GravatarTruth.Cirno 是否通过 通过
代码语言 C++ 运行时间 0.027 s
提交时间 2012-10-17 08:01:28 内存使用 3.15 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
using namespace std;

int main(void)
{
    freopen("sequenceb.in","r",stdin);
    freopen("sequenceb.out","w",stdout);
    int i,a,b,n,temp,nex[3][3]={{0,1,2},{1,2,0},{2,0,1}};
    int T,f[100]={0};
    cin>>a>>b>>n;
    
    
    
    if (n<=10000000)
    {
        f[0]=1;
        f[1]=1;
        for (i=3;i<=n;i++)
        {
            temp=i%3;
            f[nex[temp][2]]=(a*f[nex[temp][1]]+b*f[nex[temp][0]])%7;
        }
        cout<<f[nex[n%3][2]]<<endl;
    }
    
    
    
    else
    {
        f[1]=1;
        f[2]=1;
        for (i=3;i<100;i++)
        {
            f[i]=(a*f[i-1]+b*f[i-2])%7;
			if (f[i]==1&&f[i-1]==1)
				break;
        }
        T=i-2;
        n%=T;
		if (n==0)
			n=T;
        cout<<f[n]<<endl;
    }
    
    
    
    return(0);
}