ABC266 B – Modulo Number
問題
問題文の要約は以下の通りです。
問題の要約
\(-10^{18} \le N \le 10^{18}\) を満たす整数 \(N\) に対して、\(N – x\) が 998244353 の倍数となるような、\(0 \le x < 998244353\) を満たす整数 \(x\) を求めよ。
制約
・\(-10^{18} \le N \le 10^{18}\)
入力
\(N\)
出力
答えを出力せよ。
解法
余りを考える。
解説
\(N – x\)が 998244353 の倍数となるためには、\(N\) を998244353で割った余りを \(x\) とすればよい。
なぜならば、
\(N =p×998244353 + x\) (\(p\) は998244353で割ったときの商、\(x\) は余り)
とすれば、
\(N – x = p×998244353\)
となり、998244353の倍数になるからです。
余りを求めるには%
を用いることができます。
解答
print(int(input())%998244353)