找回密码
 立即注册
搜索
总共850条微博

动态微博

查看: 2779|回复: 7
打印 上一主题 下一主题
收起左侧

如何快速判断一个大整数能否被7整除

[复制链接]
跳转到指定楼层
楼主
发表于 2012-2-19 03:37:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

快速判断一个大整数能否被2整除或者被5整除的方法,小学生都知道。如何快速判断一个大整数能否被3整除或者被9整除,大多数中学生也都知道。那么,有没有一个不用除法的比较简单的办法来判断一个大整数能否被7整除?
 
*受楼下回帖的启发(顺致谢意!),为使问题更明确,加一点解法约束:只用纸和笔,而不用别的设备。(4:03)


 www.ddhw.com

 

  本贴由[冷眼看戏的Lili]最后编辑于:2012-2-19 4:3:27  

回复

使用道具 举报

0

主题

22

帖子

132

积分

8#
发表于 2012-3-25 17:23:07 | 只看该作者

86-419+746=413 413可以整除7


======
http://vip.book.sina.com.cn/book/chapter_180006_135175.html
这段是copy的
把整数从右到左分段,每三个数为一节,再从右边数起按下面办法计算:

【第一节】-【第二节】+【第三节】-【第四节】+..【第N节】

计算所得的数,如果是7,11或13的倍数,原数就能被7,11或13整除
=======
86419746

86-419+746=413      413可以整除7 所以86419746可整除7
www.ddhw.com

 

  本贴由[biomence]最后编辑于:2012-3-25 9:38:9  

回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-2-22 10:30:18 | 只看该作者

有一个简捷的方法


有一个简捷的方法,不知道网上有没有介绍过。

对任意给定的一个n位数,用 ......,-2,-3,-1,2,3,1,-2,-3,-1,2,3,1 (六位往左循环的,不难记)的右端n个,与所给整数对应位相乘再加起来,得到一个绝对值小很多的整数(如有负号,扔掉),看这个数能否被7整除。继续用此法,直至得到一位数。若它是7,则原给整数能被7整除;否则,不能被7整除。
 
例如,给了86419746,取3,1,-2,-3,-1,2,3,1分别去乘86419746的各位,得24,6,-8,-3,-9,14,12,6。相加,其和为42。取3,1分别去乘4和2,把结果加起来,得14。然后再取3,1分别去乘1和4,把结果加起来,得7。所以,86419746能被7整除。

如果你知道哪些两位数能被7整除,那么上面的过程还能减少几(至多三)步。
 
www.ddhw.com

 
回复 支持 反对

使用道具 举报

9

主题

2658

帖子

1万

积分

6#
发表于 2012-2-20 23:52:45 | 只看该作者

回复:回复:回复:如何快速判断一个大整数能否被7整除


计算机行业很多新的东西(进展)反而是再用了以前用过一段时间被抛弃的.比如说磁带的读取方法, 自从有了温盘(硬盘)读取技术, 这种顺序读取已经不用了. 但是出了SSD盘(更快的"硬盘")以后, 似乎(似乎哈, 我没具体检查过)SSD的读取技术是改良的磁带顺序读取.
www.ddhw.com

 
回复 支持 反对

使用道具 举报

9

主题

2658

帖子

1万

积分

5#
发表于 2012-2-20 23:45:24 | 只看该作者

回复:回复:如何快速判断一个大整数能否被7整除


Fov22估计是学计算机的, 该发挥你的特长出点优化算法的题.
www.ddhw.com

 
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2012-2-19 11:44:17 | 只看该作者

回复:回复:如何快速判断一个大整数能否被7整除


二十一世纪的计算机工作者们还“”读磁带吗?每读取一个文件,都要按你“一个读文件的问题”里说的从头读起。“死费那个”功夫“应用价值不大”! 你为什么要把那样的题找(编?)出贴脑坛来呢?


 www.ddhw.com

 

  本贴由[冷眼看戏的Lili]最后编辑于:2012-2-19 3:56:11  

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-2-19 11:29:46 | 只看该作者

回复:回复:如何快速判断一个大整数能否被7整除


"21世纪数学家们不玩数论啦!"???---- 那你怎么还把冰雹猜想拿出来?出尔反尔,好像已经不是第一次了。


 www.ddhw.com

 

  本贴由[冷眼看戏的Lili]最后编辑于:2012-2-19 3:33:19  

回复 支持 反对

使用道具 举报

6

主题

104

帖子

846

积分

沙发
发表于 2012-2-19 10:55:10 | 只看该作者

回复:如何快速判断一个大整数能否被7整除


当今21世纪电脑发达, 写个程序
while(n>=7)
{n=n-7;
}
if(n==0)
  cout<<"n is divisible by 7";
else
 cout<<"n is not divisible by 7";
或者索性就用cmath里定义好的 r=n%7更加直接。
21世纪数学家们不玩数论啦! 死费那个脑筋应用价值不大,我这个解答更符合当今主流。
 
 


 
回复 支持 反对

使用道具 举报

24小时热帖
    一周热门
      原创摄影
        美食美文
          您需要登录后才可以回帖 登录 | 立即注册

          本版积分规则

          Archiver|手机版|珍珠湾ART

          Powered by Discuz! X3 © 2001-2013 All Rights Reserved