HDOJ1005

来源:互联网 发布:东东数据能刷枪吗? 编辑:程序博客网 时间:2024/06/15 23:25
#include<cstdio>#include<cstring>#include<iostream>#include<string>using namespace std;int main(){    int A, B, n, T, p, ans;    int f[1005];    while (~scanf("%d%d%d", &A, &B, &n) && !((A == 0) && (B == 0) && (n == 0)))    {        f[1] = 1;        f[2] = 1;        T = 0;        int flag = 0;        for (int i = 3; i < 1000; i++)        {            f[i] = (A*f[i-1] + B*f[i-2]) % 7;            for (int j = 2; j < i; j++)                if ((f[j-1] == f[i-1]) && (f[j] == f[i]))                {                    T = i - j;                    flag = 1;                    p = j;                    break;                }            if (flag) break;        }        if (n >= p) ans = f[(n-p+1)%T+p-1];        else ans = f[n];        printf("%d\n", ans);    }    return 0;}

0 0
原创粉丝点击