取模运算的定义:a % b = a - n * b,n 为不大于 a / b 的最大整数。
Python 中的取模(求余)运算跟 C++ 中的取模(求余)有所差别:
Python:
10 % 3 = 1 # 10 / 3 = 3.33,所以 n = 3,10 - 3 × 3 = 1
12 % 3 = 0 # 12 / 3 = 4,所以 n = 4,12 - 4 × 3 = 0
-10 % 3 = 2 # -10 / 3 = -3.33,所以 n = -4,-10 - (-4 × 3) = 2
-23 % 3 = 1 # -23 / 3 = -7.67,所以 n = -8, -23 - (-8 × 3) = 1
C++:
-10 % 3 = -1
-23 % 3 = -2