A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 不抛弃不放弃 于 2013-11-29 01:08 编辑

为什么     i=i%17       这样就保证了i会在0到16之间了

5 个回复

倒序浏览
%符号就相当于取余数的意思
比如说13除以3的余数是1就相当于13%3=1;
和数学有点儿不一样。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报

很简单. % 是求余数的.
比如说,100%17  其实是算.100/17 = 5 .... 余15.
其实应该是在1与16中 , 包含1,并且包含16
为什么呢,?
因为除法其实是在做减法运算. 如果一个数最后的余数是17的话.那么只是在除法最后的结果上加一.
如果大于的话,比如说是20, 那么其实做的运算是20-17. 最后余三.
同理,最少余1, 不可能是0.

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
一个整数除以17,那么它的余数只能从0-16,一旦余数是17不就代表余数为0么,因为被除数又加上了一倍的17,就成了整除了
回复 使用道具 举报
最简单的就是拿19个数据测试一下不就知道了,0,1,2......18,
0%17=0,1%17=1............16%17=16,17%17=0(从这开始重复)。。。。
回复 使用道具 举报
i=n%17;求的是余数,一个数除以17,那么余数可能是0~16,如果是17的话,那么就是0,所以只能是0~16.
希望对你有帮助!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马