当今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世纪数学家们不玩数论啦! 死费那个脑筋应用价值不大,我这个解答更符合当今主流。 |
"21世纪数学家们不玩数论啦!"???---- 那你怎么还把冰雹猜想拿出来?出尔反尔,好像已经不是第一次了。 本贴由[冷眼看戏的Lili]最后编辑于:2012-2-19 3:33:19 |
二十一世纪的计算机工作者们还“玩”读磁带吗?每读取一个文件,都要按你“一个读文件的问题”里说的从头读起。“死费那个”功夫“应用价值不大”! 你为什么要把那样的题找(编?)出贴脑坛来呢? 本贴由[冷眼看戏的Lili]最后编辑于:2012-2-19 3:56:11 |
Fov22估计是学计算机的, 该发挥你的特长出点优化算法的题. |
计算机行业很多新的东西(进展)反而是再用了以前用过一段时间被抛弃的.比如说磁带的读取方法, 自从有了温盘(硬盘)读取技术, 这种顺序读取已经不用了. 但是出了SSD盘(更快的"硬盘")以后, 似乎(似乎哈, 我没具体检查过)SSD的读取技术是改良的磁带顺序读取. |
有一个简捷的方法,不知道网上有没有介绍过。 对任意给定的一个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整除,那么上面的过程还能减少几(至多三)步。 |
====== 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 本贴由[biomence]最后编辑于:2012-3-25 9:38:9 |
欢迎光临 珍珠湾ART (http://66.160.158.134/) | Powered by Discuz! X3 |