又見斐波那契數列

2021-08-11 13:37:02 字數 1099 閱讀 4116

時間限制:

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,表示...