取模%公式, Python的特殊性
通用公式:
a % b = a - int(a / b) * b
取整:
- 向下取整 -∞方向 floor(a/b) 取底除法
Python - 向零取整, 舍弃小数, 截断除法
C Java Javascript
取模公式通用, 但是因为取整的区别, Python的取模跟其他语言不一样,Python真是怪胎
-
-10 % 3 = -10 - (-10 / 3) * 3 = -10 - (-9) = -1
Python: -10 / 3 = -4 是向下取整, 而不是截断
-10 % 3 = -10 - (-10 / 3) * 3 = -10 - (-4) * 3 = 2
-
10 % -3 = 10 - (10 / -3) * -3 = 1
10 % -3 = 10 - (10 / -3) * -3 = 10 - (-4) * -3 = -2
-
10 % -3.5 = 10 - (10 / -3.5) * -3.5 = 10 - (-2) * -3.5 = 3
Python
10 % -3.5 = 10 - (10 / -3.5) * -3.5 = 10 - (-3) * -3.5 = 10 - 10.5 = 0.5
-
10 % -3.4 = 10 - (10 / -3.4) * -3.4 = 10 - (-2) * -3.4 = 3.2
Python
10 % -3.4 = 10 - (10 / -3.4) * -3.4 = 10 - (-3) * -3.4 = -0.2