atcoder#ABC300H. [ABC300Ex] Fibonacci: Revisited
[ABC300Ex] Fibonacci: Revisited
配点 : 点
問題文
数列 の一般項 を次のように定義します。
$$a_n = \begin{cases} 1 & (0 \leq n \lt K) \\ \displaystyle{\sum_{i=1}^K} a_{n-i} & (K \leq n) \\ \end{cases} $$整数 が与えられます。 を満たす全ての非負整数 に対する の総和を で割った余りを求めてください。( はビット単位 AND)
ビット単位 AND とは?
整数 A,B のビット単位 AND、A\text{ AND }B は以下のように定義されます。
・A\text{ AND }B を二進表記した際の 2^k (k \geq 0) の位の数は、A,B を二進表記した際の 2^k の位の数のうち両方が 1 であれば 1、そうでなければ 0 である。
制約
- は整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
2 6
21
数列の各項を から順に並べると になります。 であるような非負整数は の 4 個なので、答えは になります。
2 8
35
1 123456789
65536
300 20230429
125461938
42923 999999999558876113
300300300