軽院1605:デジタルシーケンス

1147 ワード

クリックしてリンクを開く

1605:数値シーケンス


時間制限:1 Sec
メモリ制限:60 MB
コミット:778
解決:179
[提出][状態][討論版][命題者:
541307010108]

タイトルの説明


数列の定義は次のとおりです.
f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
AとBを与えて、あなたはf(n)を要求します.

入力


複数のテストケースが含まれていることを入力します.各試験例は、1行(1<=A、B≦1000、1≦n≦10000000)の3個の整数A、Bおよびnを含む.
3つの0を入力すると終了します

しゅつりょく


各テストケースについて、f(n)を出力し、単独で1行を占める.

サンプル入力

1 1 3
1 2 10
0 0 0

サンプル出力

2
5

一定の演算後にループするので、何個の数値ループを1回算出すればよいか
#include 
#define N 60
int f[N]; 
int main()
{
    int a,b,n,i,j,sum,ans;
    while(scanf("%d%d%d",&a,&b,&n)!=EOF)
    {
        sum=0;
        if(a==0&&b==0&&n==0)
            break;
        f[1]=1;f[2]=1;
        for(i=3;i

転載先:https://www.cnblogs.com/zyq1758043090/p/10003043.html