數列2(迴圈節)

2021-10-08 22:09:58 字數 819 閱讀 4714

數列2

描述小明今天在做數學題的時候碰到這樣乙個問題,乙個數列的定義如下:

f(1) = 1, f(2) = 1, f(n) = (a * f(n - 1) + b * f(n - 2)) mod 7。

現在給你a,b和n的值,請問你f(n)的值是多少?

輸入輸入包含多組測試資料。

每組輸入3個整數a,b和n(1<=a,b<=1000,1<=n<=100000000),當輸入的3個數都為0時,輸入結束。

輸出對於每組輸入,輸出f(n)的值。

輸入樣例 1

1 1 3

1 2 10

0 0 0

輸出樣例 125

**天勤考研演算法練習賽題目-天勤考研演算法練習賽(4)

這題得注意下:

1.f[n]可能沒有到經過乙個迴圈,這個數一般比較小,直接輸出答案。

2.判斷迴圈節,這裡採用只判斷迴圈的前兩個數f[i-1]==f[j-1]&&f[i]==f[j]

3.迴圈節的長度可能為1,也就是所有的元素都相等。

#include

using

namespace std;

int f[

10000];

intmain()

}if(flag==1)

break;}

if(flag)

//如果有迴圈節

cout<(n-e)

%(e-s)

]

//沒有迴圈節

cout<<}return0;

}

關於fibnacci數列迴圈節的討論

已知fibnacci數列fi fi 1 fi 2,求證f i 在mo dp意義下迴圈。證明 若存在i j,i,j n 使得fi fj,fi 1 fj 1 mo dp 那麼一定存在迴圈節 根據鴿巢原理,數列中相鄰兩項的取值只有p2 種可能 所以至多p2 項一定會出現迴圈節 證畢。實際上fibnacci...

迴圈節長度以及迴圈節

迴圈節長度 兩個整數做除法,有時會產生迴圈小數,其迴圈部分稱為 迴圈節。比如,11 13 6 0.846153846153 其迴圈節為 846153 共有6位。這是一道藍橋杯的題目,試卷上是乙個填空題,思路就是不斷的對除數取餘,然後乘10後再取餘,直到餘數在之前出現過或者為0 結束。為什麼是這樣的呢...

斐波那契數列找迴圈節

首先貼乙個大佬的廣義方法,數學真的diao。廣義斐波那契數列的迴圈節 暴力求法,一般情況下這樣求long long 範圍內的也就夠了。include define ll long long using namespace std const int maxn 1e5 10 自調 ll f maxn ...