昨天在久违的leetcode上做题(是个菜鸟,还在简单阶段卡着),在7-整数反转这一题的题解中看到了有关于不同语言求余数的不同结果
在python中 :-53除以10=-6 …7 所以python中 -53%10=7
在c语言中,-53除以10=-5 … -3 所以c语言中 -53%10=-3
aabathur@LeetCode
跟朋友讨论了一下这个问题,最后的结论是:python的计算方式是符合定义的
C语言这种方式是向零取整,而根据定义
余数-百度百科
取余数运算:
a mod b = c 表示 整数a除以整数b所得余数为c。
余数的计算公式:c = a -⌊ a/b⌋ * b
其中,⌊ ⌋为向下取整运算符,向下取整运算称为Floor,用数学符号⌊ ⌋表示
可以看出,商应为向下取整,例如 ⌊ -4.2⌋=-5,即-53 mod 10=-6…7