新Fib數列 找規律

2021-09-22 22:50:07 字數 1295 閱讀 1554

time limit: 2 sec memory limit: 16 mb

submit: 305 solved: 199

[submit][status][discuss]

description

天地合,乃敢不君絕?我們發現求出斐波那契數列在某種意義下可以作為解決一些有意義問題的方法,特別是在模5意義下的某種組合,或許可以破解敵方的密碼系統。出題人太懶了,對於算斐波那契數列這種難事,丌能找到簡便方法,因此他就懶得丌想做了(即使想做可能要買上一條1pb的記憶體條)。他找到了善於思考、 用計算機快速解決問題的你!你能幫幫他嗎?

斐波那契數列的定義為 f(n)=f(n-1)+f(n-2)。

input

現有q個詢問, 每個詢問都給出乙個qi。

對於每個詢問

請你求出並輸出斐波那契數列在模 5 意義下的第qi項,每個詢問的輸出佔一行。

q<=10^6 qi<=2*10^9

請留意本題資料範圍。 本題共有25個測試點。

output

如題sample input

91 2 3 4 5 6 7 8 9

sample output11

2303

314問題連線

對於這類後面的資料需要用到之前的資料一般都會去打表,但是對於,這道題,qi最大可以取到2*10^9,顯然用不了這麼大的陣列。但仔細想一想,新fib數列與普通的fib數列不同的是運算結果要模5,也就是說結果是0到4的數,那麼根據取模加法運算的規律以及斐波拉切數列的定義,顯然會有規律,也就是有重複的結果。

規律可以自己乙個個列去找,還有一種方法是另外寫**打部分的表並輸出,看出規律。

打表,可以看出以20個為週期,所以我們只需要記錄前20個資料的結果就可以了。

附:

#include#includeusing namespace std;

const int n=1e8;

int fib[n];

void make_list(int n)

}int main()

#include

#include

using namespace std;

intmain()

return0;

}

CH Position 數列 打表找規律 貪心

總時限10s 記憶體限制 256mb 出題人sliverriver 提交情況 2 7 題目描述 棟棟非常喜歡數列.數列中有n個數且兩兩不同,並且該數列中所有的數都屬於 0,n 那這個數列即為極好數列。對於每兩個極好數列a,b都有契合度,契合度的計算公式如下.契合度 a0 xor b0 a1 xor ...

fib數列變種題目

對乙個正整數作如下操作 如果是偶數則除以2,如果是奇數則加1,如此進行直到1時操作停止,求經過9次操作變為1的數有多少個?第9次操作 結果1由2產生。1個被運算元 8 結果2只能由4產生。1個被運算元 7 結果4由8 3產生。2個 6 結果8由16 7產生 結果3由6產生。共3個 5 結果16由32...

1049 數列的片段和(找規律求和)

1049 數列的片段和 20 分 給定乙個正數數列,我們可以從中擷取任意的連續的幾個數,稱為片段。例如,給定數列 我們有 0.1 0.1,0.2 0.1,0.2,0.3 0.1,0.2,0.3,0.4 0.2 0.2,0.3 0.2,0.3,0.4 0.3 0.3,0.4 0.4 這 10 個片段。...