數列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 ...