m斐波那契數列f[n]是一種整數數列,它的定義如下:
f[0] = a
f[1] = b
f[n] = f[n-1] * f[n-2] ( n > 1 )
現在給出a, b, n,你能求出f[n]的值嗎?
input
輸入包含多組測試資料;
每組資料佔一行,包含3個整數a, b, n( 0 <= a, b, n <= 10^9 )
output
對每組測試資料請輸出乙個整數f[n],由於f[n]可能很大,你只需輸出f[n]對1000000007取模後的值即可,每組資料輸出一行。
sample input
0 1 06 10 2
sample output
060
現在還是一知半解,所以還是先記錄下來,以後我們再去細細的分析。主要是,我們以後要穿送指標的話,我們就把他包裝成結構體,直接傳送結構體,不要傳送指標。
#include using namespace std;
typedef long long ll;
ll mod = 1e9+7;
ll mod2 = 1e9+6;
struct matrix;
struct matrix multi( struct matrix a,struct matrix b )
} }return ans;
}struct matrix quick_pow(struct matrix a,ll m)
return ans;
}ll quickint_pow(ll a,ll m)
return ans;
}int main()
ans = quick_pow(aa,n-1);
cout << ( quickint_pow(a,ans.base[0][1]) * quickint_pow(b,ans.base[0][0]) )%mod << endl; }
return 0;
}
M斐波那契數列
使用費馬小定理降冪處理以及矩陣的快速冪求法 m斐波那契數列f n 是一種整數數列,它定義如下 f 0 a f 1 b f n f n 1 f n 2 n 1 現在,寫出f 2 f 3 f 4 的值,可以發現,其中,a,b的指數均為斐波那契數,歸納法得 f n a fib n 1 b fib n 費馬...
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 的值嗎?0 a,b,n 10 9 由於f n 可能很大,你只需輸出f n 對1000000007取模後的值即可 題解 列出f n 的前幾項...
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...