最近 Kotlin (Javaと似てるプログラミング言語) を始めました。練習がてらいろいろ書いているのですが、そこで負の数の剰余演算を扱う機会があって微妙に期待通りの出力が得られなかったので、剰余演算の仕様を検証しました。 数学的な話も結構挟まるので結論だけほしい人はそこまで飛ばしてください。Kotlinの文法の話だけ見たい人はもっと飛ばしてください。 #そもそも剰余演算とは 「剰余演算とは」について「そんなのわかりきってる」と思う人も多いと思いますが、私と異なる認識を持っているとこの先「この結果はおかしい」か「この結果はおかしくない」かを考えるときに支障をきたすので、私が何を期待しているかを述べておきます。 端的に言うと、整数 $a$ を整数 $b$ で割る剰余演算とは のただ一通りしかない整数解 $(x,y)$ のうち $y$ の方を得る演算であると考えています。 この $y$ のこ