2016年5月18日

约瑟夫问题

摘要: 这个问题其实还蛮有名的,它被称为约瑟夫的问题。 最直观的解法是用循环链表模拟报数、淘汰的过程,复杂度是O(NM)。 今天我们来学习两种更高效的算法,一种是递推,另一种也是递推。第一种递推的公式为: 接下来我们用数学归纳法来证明这个递推公式的正确性: (1) f[1] = 0 显然当只有1个候选人时, 阅读全文

posted @ 2016-05-18 15:45 鱼泪儿 阅读(202) 评论(0) 推荐(0) 编辑

Eular质数筛法

摘要: 小Hi:我们可以知道,任意一个正整数k,若k≥2,则k可以表示成若干个质数相乘的形式。Eratosthenes筛法中,在枚举k的每一个质因子时,我们都计算了一次k,从而造成了冗余。因此在改进算法中,只利用k的最小质因子去计算一次k。 首先让我们了解一下Eular筛法,其伪代码为: isPrime[] 阅读全文

posted @ 2016-05-18 12:33 鱼泪儿 阅读(313) 评论(0) 推荐(0) 编辑

质数测试

摘要: 也即是说:假设我们要测试n是否为质数。我们可以随机选取一个数a,然后计算a^(n-1) mod n,如果结果不为1,我们可以100%断定n不是质数。 否则我们再随机选取一个新的数a进行测试。如此反复多次,如果每次结果都是1,我们就假定n是质数。 该测试被称为Fermat测试。需要注意的是:Ferma 阅读全文

posted @ 2016-05-18 11:49 鱼泪儿 阅读(358) 评论(0) 推荐(0) 编辑

导航