費式數列是程式課和數學課很常出現的練習題,可以讓學生練習很多的概念。
它是一個像這樣的數列
1 1 2 3 5 8 13 ......
第1項 $F_1$ 是 1,第2項 $F_2$ 是 1,之後每一項都是前兩項的和
例如:
$F_3=F_2+F_1$
$F_4=F_3+F_2$
......
$F_n=F_{n-1}+F_{n-2}$
由於費式數列成長的速度很快,很容易會就大到造成溢位,所以上電腦課時老師通常只會要求寫程式求到第十餘項。
這次我們來個挑戰,求 $F_n$,而且 $n$ 很大。
為了避免溢位,你只需要輸出 $F_n$ 除以 16777213 的餘數即可。
子任務說明
子任務1:
範例測資
子任務2:
$1 \le n \le 10$
子任務3:
$1 \le n \le 1,000$
子任務4:
$1 \le n \le 2^{31}-1$
子任務5:
沒有題目敘述(含輸入格式 Input Format 說明)之外的限制
輸入為一正整數 $n (1 \le n \le 2^{63}-1)$
輸出為一個正整數,即 $F_n$ 除以 16777213 的餘數
1
1
6
8
8
21
內高 115 資訊學科能力競賽-校內初賽
| No. | Testdata Range | Score |
|---|---|---|
| 1 | 0~2 | 0 |
| 2 | 3~7 | 25 |
| 3 | 8~12 | 25 |
| 4 | 13~17 | 25 |
| 5 | 18~23 | 25 |