数论
文章平均质量分 66
庞老板
思考时啃啃手指头会更有灵感
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NY 105 九的余数——特殊的9
2012/8/6 9:12 九的余数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。 输入 第一行有一个整数m(1 随后m行每行有一个自然数n。 输出 输出n整除九之后的余数,每次输出占一行。 样例输入原创 2012-08-06 09:38:35 · 1661 阅读 · 0 评论 -
分解质因数——Poj 1142 Smith Numbers
Smith Numbers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10627 Accepted: 3723 Description While skimming his phone directory in 1982, Albert Wilansk原创 2013-03-31 11:41:11 · 3746 阅读 · 2 评论 -
判断一个数是否为素数
由于素数的无规律性,所以只好笨笨的一个数一个数的试了,但就拿一个数N=37来说,并不需要从2挨个试到36,而只需从2试到根号下N,原因如下: 还以N = 37为例,首先用37/2,不能整除,向下取整后得18,此时便可知,从18到36的数都不需要再除了,因为用37除以18到36中的任何一个整数结果都不会是整数,例如37/19的结果小于2,后面的数同样小于2;用37/3,不能整除,向下取整后得12,原创 2012-04-18 20:37:35 · 1045 阅读 · 0 评论 -
快速筛选法求素数表
文中的算法依据本博客中《高效判断素数方法》中的规律和结论。 素数出现规律: 当n≧5时,如果n为素数,那么n mod 6 = 1 或 n mod 6 = 5,即n一定出现在6x(x≥1)两侧。 证明: 当x≥1时,有如下表示方法: ┈┈ 6x,6x+1,6x+2,6x+3,6x+4,6x+5,6(x+1),6(x+1)+1┈┈ 不在6x两侧的数为6x+2,6x+3,6x+4,即原创 2012-09-26 21:34:45 · 8456 阅读 · 4 评论 -
模运算——神奇的9
2012/10/11 19:55 在求余运算中,9是个神奇的数,它让求余变得如此简单。 求 2468 Mod 9,对于2468这个数,可以直接计算得出结果,这里并不这样做,而是用它来引出9的神奇特性。 因为 2468 = 2000 + 400 + 60 + 8 上式两边同时求余得: 2468 Mod 9 = (2000 + 400 +原创 2012-10-11 20:47:25 · 2323 阅读 · 0 评论 -
高次方求模
有了这个公式,求解问题就简单了,n的p次方很容易拆分为几个数相乘的形式。其中采用二分法拆分较为简单高效。 递归: #define M 10003 int PowMod(int n, int p) { if (p == 1) { return n % M; } int temp = Pow(n, p/2); int result = (temp*temp) % M;原创 2012-09-17 21:13:31 · 6076 阅读 · 0 评论 -
高效判断素数方法
2012/8/2 18:07 孪生素数: 所谓孪生素数指的是间隔为 2 的相邻素数,它们之间的距离已经近得不能再近了。 若n≥6且n-1和n+1为孪生素数,那么n一定是6的倍数。 证明: ∵ n-1和n+1是素数 ┈┈┈┈┈ ① ∴ n-1和n+1是奇数 ∴ n是偶数,即n是2的倍数 ┈┈┈┈┈ ② 假设n不是3的倍数,得: n=3x+1 或 n=3x+2, 如果n=原创 2012-08-18 11:08:03 · 10885 阅读 · 9 评论
分享