
Algorithm
文章平均质量分 70
Alvin_lym
这个作者很懒,什么都没留下…
展开
-
计算n!的最后一位非零数字的算法
给个想法,没有具体实现,应该可以解决1M位以内的阶乘的最后非零数字问题。 当然如果超出long long的话需要用大整数的运算。 大体思想: 从n的最低位到最高位依此计算出最后一个非零数字在第k位的所有在1。。n范围内的数字所提供的2,3,7,9的个数,然后计算出总的2,3,7,9的个数,利用单个数字相乘最后一位数字的循还性,计算出n!的最后一位非零数字。 具体想法如下: 1.对于n!,考原创 2006-07-25 11:59:00 · 5853 阅读 · 4 评论 -
海明码的纠错过程
以前学习海明码的时候,一顿死记硬背,到现在早就记不得了,最近由于研究的相关性,又重新看了一遍海明码,有了一些想法,总感觉相关的书籍还有文档写的太抽象,有的恨不得直接搞到编码理论上去,其实我主要需要明白的是海明码怎么纠的错,而不是为什么能纠错,看了一堆的公式,感觉还是没有程序清楚明白,下面是我写的海明码,编码(encode)和纠错(check)的相关程序。//java program1 int[]原创 2006-08-11 11:48:00 · 11277 阅读 · 1 评论 -
对于"容量分别为A与B的两个水桶,是否能够通过互相倒水可以得到1~MAX(A,B)所有容量的水"问题的分析
此问题与数论息息相关,结论如下:对于所有最大公因数为1 的A,B,都能产生任意的1~max(A,B)之间的容量,反之则不成立。证明:先证明一个需要用到的数论中的定理如果a,b为任意整数,但不全为0,那么a,b的最小公约数为满足s = ax+by (x,y 为任意整数)的最小的正整数s。证明如下:令s = ax + by (x,y为任意整数)的最小正整数,令q=floor(a/s),那么有如原创 2006-08-22 16:43:00 · 4351 阅读 · 0 评论