hpuoj1471 又是斐波那契數列?? A題

2021-08-21 21:29:07 字數 1032 閱讀 9737

時間限制: 1 sec 記憶體限制: 128 mb

提交: 345 解決: 46 統計

現在給你乙個數x,聰明的你一定知道這是斐波那契數列中的第幾項。

(資料保證x一定有對應的項y,且 2 <= y < 1e4)

第一行乙個整數t,表示測試組數。

之後的t行,每行乙個數x 

對於每個測試資料,輸出一行表示數x是第幾項 

2

25

3

5

思路:

當時第一眼看到這個題沒注意,以為要被詢問的資料不會超過1e4,直接打表,結果就很明顯了,上來就wa兩發,一下冷靜了,再看題目,媽耶,項數不會超過1e4,longlong?想都不要想,直接放棄;

現在再看思路,其實還是打表,不過是有理論支援的,首先我們需要了解一下longlong的儲存問題(大概是個學過c語言的人都懂)當我們要存的數n大於longlong的範圍時,我們稱溢位,但是longlong仍然會把n存到裡面,溢位的自然不會管,那麼我們得到的就應該是n對longlong的取模

現在再看這個題就簡單多了,我們只需要開乙個longlong陣列打個1e4的表,然後對於詢問的數以相同的longlong取模規律求出再暴力查詢即可(有點類似hash的思想)

**:#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

using namespace std;

char num[20005];

ll f[10005];

void init()

ll solve(int n)

int main()

}printf("%d\n",ans);

}return 0;

1471 又是斐波那契數列??

hpu 1471 現在給你乙個數x,聰明的你一定知道這是斐波那契數列中的第幾項。資料保證x一定有對應的項y,且 2 y 1e4 第一行乙個整數t,表示測試組數。之後的t行,每行乙個數x 對於每個測試資料,輸出一行表示數x是第幾項 2 253 5 include include includeusin...

HPU1471又是斐波那契數列??

1471 又是斐波那契數列?時間限制 1 sec 記憶體限制 128 mb 提交 338 解決 44 統計 題目描述現在給你乙個數x,聰明的你一定知道這是斐波那契數列中的第幾項。資料保證x一定有對應的項y,且 0 y 1e4 輸入 第一行乙個整數t,表示測試組數。之後的t行,每行乙個數x 輸出 對於...

又是斐波那契數列??

現在給你乙個數x,聰明的你一定知道這是斐波那契數列中的第幾項。資料保證x一定有對應的項y,且 2 y 1e4 第一行乙個整數t,表示測試組數。之後的t行,每行乙個數x 對於每個測試資料,輸出一行表示數x是第幾項 2 253 5 include include include include incl...