時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:4
描述
m斐波那契數列。
m斐波那契數列f[n]是一種整數數列,它的定義如下:
f[0] = a
f[1] = b
f[n] = f[n-1] * f[n-2] ( n > 1 )
現在給出a, b, n,聰明的
你能求出f[n]的值嗎?
輸入
輸入包含多組測試資料;
每組資料佔一行,包含3個整數a, b, n( 0 <= a, b, n <= 10^9 )
輸出對每組測試資料請輸出乙個整數f[n],由於f[n]可能很大,你只需輸出f[n]對1000000007取模後的值即可,每組資料輸出一行。
樣例輸入
0 1 0 6 10 2樣例輸出
根據列舉猜想出公式,然後用矩陣快速冪求出指數,然後再用快速冪求出答案
摸除技巧:
(a+b)%mod=((a%mod)+(b%mod))%mod
(a-b)%mod=((a%mod)-(b%mod)+mod)%mod
ab%mod=(a%mod)(b%mod)%mod
a^b%mod=a^(b%(mod-1))%mod // mod 是乙個質數,該式子稱費馬小定理
**如下:
#include #include #include using namespace std;
typedef long long ll;
const int mod=1000000007;
struct matrix;
int n=2;
void init(matrix &res)
return res;
}ll pow(ll a,ll b)
return res;
}int main()
}return 0;
}
又見斐波那契
這是乙個加強版的斐波那契數列。給定遞推式 求f n 的值,由於這個值可能太大,請對109 7取模。第一行是乙個整數t 1 t 1000 表示樣例的個數。以後每個樣例一行,是乙個整數n 1 n 1018 每個樣例輸出一行,乙個整數,表示f n mod 1000000007。412 3100 1 165...
nyoj 1000 又見斐波那契數列
分析 定義 x,y x代表a的個數,y代表b的個數。先找規律f 0 a 1,0 f 1 b 0,1 f 2 ab 1,1 f 3 abb 1,2 f 4 abbab 2,3 f 5 abbababb 3,5 f 6 abbababbabbab 5,8 由規律可知,f n a fibonacci n ...
又見斐波那契數列 大數的應用
題目描述 大家都知道斐波那契數列吧?斐波那契數列的定義是這樣的f0 0 f 1 1 fi f i 1 fi 2 f 0 0 f1 1 f i fi 1 f i 2現在給你乙個數x,聰明的你一定知道這是斐波那契數列中的第幾項。資料保證x一定有對應的項y,且 2 y 1e4 輸入 第一行乙個整數t,表示...