問題一覧 > 通常問題

No.3628 Sum of Superfibonacci Numbers

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 13
作問者 : 👑 loop0919 / テスター : ぽえ kazuppa
ProblemId : 13611 / yukicoder contest 509 (順位表) / 自分の提出
問題文最終更新日: 2026-08-17 21:47:27
yukicoder contest 509の他の問題:

問題文

正整数 $n$ が良い数であるとは、 $n$ が以下の条件を満たすことと定義します。

  • $n$ を十進数と解釈したときの $10^i$ の位の値を $n_i$ としたとき、 $n_{i+2} > n_{i+1} + n_i$ を満たす非負整数 $i$ が存在する。

また、正整数 $n$ に対して $f(n)$ を、$n$ 以上の良い数の最小値と定義します。

正整数 $N$ が与えられます。 $f(1) + f(2) + \cdots + f(N)$ の値を $998244353$ で割った余りを求めてください。

$T$ 個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • 入力される値はすべて整数
  • $1 \leq T \leq 200$
  • $1 \leq N \leq 10^{18}$

入力

入力は以下の形式で標準入力から与えられる。

$T$
$\mathrm{case}_1$
$\mathrm{case}_2$
$\vdots$
$\mathrm{case}_T$

各テストケースは以下の形式で与えられる。

$N$

出力

各テストケースについての答えを順に改行区切りで出力せよ。

サンプル

サンプル1
入力
4
10
668
169231
1000000000000000000
出力
1000
245820
346334860
992299114

良い数を昇順に並べると、 $100, 200, 201, 210, 300, 301, 302, 310, 311, 320, 400, \cdots$ となります。

$1$ 番目のテストケースについて、 $k = 1, 2, \cdots, 10$ すべてについて $k$ 以上で最小の良い数は $100$ となるため、答えは $100 \times 10 = 1000$ です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。