ABC 266 に参加した。
あと一歩で解けず、他の方の回答を見て悶絶したので自戒のため、次回のために
編集しておく
atcoder.jp
基本的に全探索+ 倍数判定で解ける問題なのだが、
出力例が一致せずつまってしまった。
■正解例
for (long i = 0; i <= 998244353; i++) { if ( (N-i)% 998244353 == 0) { System.out.println(i); return; }
■誤答例
for (int i = 0; i <= 998244353; i++) { int num = (int) (N - i); if (998244353 % num == 0) { System.out.println(i); return; }
何度やっても全問ACにならず、色々こねくり回したのだが
結果的にアルゴリズムは単純で、標準入力で受け取った値を
for文でループする際にintにキャストしてしまったのが原因だった。
凡ミス、、普段ループを回すときにintでしか回さない為
考えがおよばなかった。
Longを扱う試験は今後もでるから気をつけよう