数论
文章平均质量分 69
庞老板
思考时啃啃手指头会更有灵感
展开
-
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 · 1599 阅读 · 0 评论 -
分解质因数——Poj 1142 Smith Numbers
Smith NumbersTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 10627 Accepted: 3723DescriptionWhile skimming his phone directory in 1982, Albert Wilansk原创 2013-03-31 11:41:11 · 3521 阅读 · 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 · 967 阅读 · 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 · 8300 阅读 · 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 · 1587 阅读 · 0 评论 -
高次方求模
有了这个公式,求解问题就简单了,n的p次方很容易拆分为几个数相乘的形式。其中采用二分法拆分较为简单高效。递归:#define M 10003int 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 · 5770 阅读 · 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 · 10614 阅读 · 9 评论