7的倍数的特征2012-06-25 19:23在教学的过程中,偶然的发现:7的倍数的特征如下,以例说明。
如:111 111 111 111这个十二位数,7能否带除它呢?
我发现只要先给这个数从右至左每一位上的数字乘以一个系数,然后作和,若是7的倍数,则此数便是7的倍数。若有余数,那么这个余数就是这个十二位数除以7的余数。
右起至左,第一位的系数为1,第二位的系数为3,第三位的系数2,第四位系数6,第五位系数4,第六位的系数5。
第七位的系数与第一位相同,第八位的系数与第二位相同,以此类推。。。若这个数是一个很多位的数,那么我们也只需要按这个方法,循环下去,第十三位的系数与第一位相同,第十四位系数与第二位相同,。。。第十九位系数与第一位相同,第二十位系数与第二位相同,。。。。。。如此而已。
验证刚才的那个十二位数111 111 111 111,
1*1+1*3+1*2+1*6+1*4+1*5+1*1+1*3+1*2+1*6+1*4+1*5=42,42是7的倍数,那么111 111 111 111是7倍数。
又如由503个2012组成的一个2012位数,也就是201220122012。。。2012(2012位数)它除以7的余数是几呢?
我们也可以用上面的方法计算出来。上面说到的每一位上对应的系数是六位一循环的,而这个2012位数是四位一循环的,也就是说,这个2012位数,从右起向左,每12个数字可以作为一个循环周期,每个数字乘以对应的系数后作和(和为56),这12个数字组成的数是7的倍数,而刚才2012位数中有多少个这样的循环呢?2012/12=167。。。8,有167个循环,还余八个数字20122012。我们只要计算这个20122012除以7就可以。还是用刚才的方法,右起至左,每位上数字乘以对应系数后作和(和为36),36/7=5。。。1,那么,由503个2012组成的2012位数除以7,所得余数为1。
我是老王,水平有限,表达不清楚的地方敬请谅解。如有错误,请给予批评。
- [laowang] 十进制。 06/30 23:30
- [chinatree] 哇,王老,这都被您发现了,佩服。不过有一点我很迷糊, 0111b=7d,但是按照您那方法,结果为6 06/26 07:17
- [fpamc] 同上…… 06/04 07:14
- [chinatree] 共勉,同达,嘿嘿。 06/03 23:46
- [chinatree] 还有int,iret呢。 05/30 18:48
- [tomato] 什么样的程序?运行结果是什么样的?发上来代码看看... 05/26 00:08
- [游客] 代码发上来运行一下看看。 05/25 01:26
- [游客] 遇到什么问题了?说出来瞧瞧...... 05/24 13:46
- [laowang] DIV ( unsigned DIVide) 无符号数除法指令 格式:DIV SRC //Byt 05/22 23:55
- [tomato] div不是除法指令吗?这个意义还不够? 05/22 23:06