3667: Rabin-Miller算法 Description Input 第一行:CAS,代表数据组数(不大于350),以下CAS行,每行一个数字,保证在64位长整形范围内,并且没有负数。你需要对于每个数字:第一,检验是否是质数,是质数就输出Prime 第二,如果不是质数,输出它最大的质因子是哪 ...
分类:
其他好文 时间:
2016-12-15 14:42:42
阅读次数:
227
刚刚讲完了以费马小定理为基础的Miller-Rabin,现在该膜拜一下费马了。 皮埃尔·德·费马,法国律师和业余数学家。他在数学上的成就不比职业数学家差,他似乎对数论最有兴趣,亦对现代微积分的建立有所贡献。被誉为“业余数学家之王”。费马,是当今常见译法,80年代的书籍文章也多见译为“费尔玛”的情况, ...
分类:
其他好文 时间:
2016-12-05 19:42:22
阅读次数:
127
Brute Force算法,时间复杂度 O(mn) Rabin karp算法时间复杂度可以降低到 O(mn) on average. haystack: abcdefgh, needle: abc needle_code = a + b*p + c*p^2 使用sliding window计算hay ...
分类:
其他好文 时间:
2016-11-27 09:55:30
阅读次数:
181
Miller_Rabin素数测试 Miller_Rabin判断单个素数的方法运用了费马小定理,可以说非常之快了。 Miller_Rabin曾经被称作“黑科技”,但是根据费马小定理其实完全可以自己写出来大半。 其算法的运行过程如下: (1)对于奇数M,使得N=(2^r)*M+1 (2)选取随机数使得A ...
分类:
其他好文 时间:
2016-11-27 07:08:41
阅读次数:
147
素数的判定与筛法 判定:很简单嘛!暴力大法参上! (不相信从来不刷水的我竟然做了这样的题……) 这就是传说中的O(根号N)大暴力…… 那么还有个算法叫Miller-rabin…… 那么我们来介绍一下这是个什么东西: 首先让我们了解这几个概念: 费马小定理:对于素数p和任意整数a,有ap ≡ a(mo ...
分类:
其他好文 时间:
2016-11-27 06:50:07
阅读次数:
201
Description Give you a lot of positive integers, just to find out how many prime numbers there are. Description Give you a lot of positive integers, j ...
分类:
其他好文 时间:
2016-11-17 23:35:43
阅读次数:
211
也即是说:假设我们要测试n是否为质数。我们可以随机选取一个数a,然后计算a^(n-1) mod n,如果结果不为1,我们可以100%断定n不是质数。 否则我们再随机选取一个新的数a进行测试。如此反复多次,如果每次结果都是1,我们就假定n是质数。 该测试被称为Fermat测试。需要注意的是:Ferma ...
分类:
其他好文 时间:
2016-11-12 17:14:16
阅读次数:
195