斐波那契數列 求末尾一位 超大n範圍題解

2021-10-04 20:29:39 字數 784 閱讀 9519

一:題幹:

小x是個斐波那契數迷。是如此的酷愛這個數列,每每看到這個數列就會高興得手舞足蹈。因此想知道很多關於這個數列的東西,比方說第n個斐波那契數是多少啊,前n項的和是多少啊,如何用若干個斐波那契數的和表示乙個自然數啊之類的。今天希望知道的是:第n個斐波那契數的末尾一位是多少? 記pf[n]表示第n個斐波那契數, pf[1] =pf[2] = 1, pf[n] = pf[n‒ 1] + pf[n ‒ 2] (n > 2)。

對於30%的資料滿足,0 輸入格式:

乙個整數n表示第n項。

輸出格式:

僅一行,即想知道的第n個斐波那契數的最後一位。

輸入樣例:

在這裡給出一組輸入。例如:

輸出樣例:

2二:分析:

看到這個超級大的n範圍就肯定不能用常規方法了 肯定會超時的

但是只要明白斐波那契數列每60個項的個位的數字是一迴圈就很容易做出來

三:**:

#include

using

namespace std;

int c[

100]

;//儲存60一迴圈的斐波那契數列

intmain()

if(n==

0)cout<<0;

else

cout<%10

;return0;

}

這樣即使是非常大的數字也能秒出答案

求斐波那契數列

一 用陣列求取斐波那契數列第n項的數值 非遞迴 斐波那契數列求取思想 第n項 第n 1項 第n 2項 function getvalue n var j 0 while j n 1 return arr j else alert getvalue 8 求第八項的值 二 使用遞迴求取第n項的值 fun...

程式設計求斐波那契數列

fibonacci sequence recursive algorithm def fib n if n 1or n 2 return 1else return fib n 1 fib n 2 這是很樸素的思想,是一種從上到下的方法,但是重複計算了很多之前計算過的結果,時間複雜度是指數級.具體為 ...

求斐波那契數列的第n項

斐波那契數列的定義如下 f 0 0 f 1 1 f n f n 1 f n 2 n 2 1,1,2,3,5,8,13,21,34,55,89,144,233,377,給出n,求f n 由於結果很大,輸出f n 1000000009的結果即可。input 輸入1個數n 1 n 10 18 output...