我是桃川人 发表于 2014-11-10 22:30:08

关于m %= n; m=?

从字面上看m %= n 等于 m = m % n。
但是不管是c还是python,m %= n; m还是m,有点奇怪了。
请帮忙分析下原因?

例如:
m = 3;
n = 41;
m %= n;
这时m是多少?是2?但运行结果是m = 3!

dsa159245 发表于 2014-11-11 00:08:38

本来就是3啊   3除以41   商为0    余数为3难道不是吗。是我蒙了???

我是桃川人 发表于 2014-11-11 09:10:36

dsa159245 发表于 2014-11-11 00:08
本来就是3啊   3除以41   商为0    余数为3难道不是吗。是我蒙了???

说的没错!是我搞晕了,这样的话数据结构和算法的约瑟夫问题那节问题:m%=n,是干啥用?小甲鱼说的是2哦!所以我先入为主,把问题复杂化了。

多谢!

hfut_wangfei 发表于 2014-11-15 09:34:49

我是桃川人 发表于 2014-11-11 09:10
说的没错!是我搞晕了,这样的话数据结构和算法的约瑟夫问题那节问题:m%=n,是干啥用?小甲鱼说的是2哦! ...

这个貌似小甲鱼讲解的不太对...

我是桃川人 发表于 2014-11-15 12:54:13

hfut_wangfei 发表于 2014-11-15 09:34
这个貌似小甲鱼讲解的不太对...

这条语句作用还是有的,只是小甲鱼没说明。当m比n大时,作用来了。

hfut_wangfei 发表于 2014-11-15 13:57:02

我是桃川人 发表于 2014-11-15 12:54
这条语句作用还是有的,只是小甲鱼没说明。当m比n大时,作用来了。

嗯,确实,不过他说的“2”应该是“3”

我是桃川人 发表于 2014-11-16 09:29:20

hfut_wangfei 发表于 2014-11-15 13:57
嗯,确实,不过他说的“2”应该是“3”

是的。

三哥自尊心强 发表于 2014-11-21 14:35:50

确实是3.数学中取余的定义就是这么定义的。
页: [1]
查看完整版本: 关于m %= n; m=?