
数论
乄心
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
gcd简单应用
相等的最小公倍数Time Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 145(55 users)Total Accepted: 63(44 users)Rating: Special Judge: NoDescription定原创 2014-01-17 10:03:38 · 843 阅读 · 0 评论 -
二次筛素数!
坑爹的解说,一点都不详细。。害我想好久。。poj--2689题意 找一个范围内的 相邻的 差 最小和最大 的 两个素数!因为这个范围的上限值可能到了 int 的最大值。所以直接用一次筛出全部素数 肯定超时,数组也开不到20多亿!所以这里接触到 二次筛法!!因为 范围 (L, U)其里面的合数的 一个素因子不可能 超过 sqrt(U)。-------PS:这个与我们判断原创 2014-01-25 22:54:56 · 888 阅读 · 0 评论 -
快速幂取模
描述求a的b次方对c取余的值 输入第一行输入一个整数n表示测试数据的组数(n每组测试只有一行,其中有三个正整数a,b,c(1=输出输出a的b次方对c取余之后的结果样例输入32 3 53 100 1011 12345 12345样例输出3110481#include using namespace s原创 2014-02-15 13:47:27 · 644 阅读 · 0 评论 -
仿射密码
描述仿射密码是替换密码的另一个特例,可以看做是移位密码和乘数密码的结合。其加密变换如下:E(m)=(k1*m+k2) mod q;(其中k1,k2为密钥,且0现已知一经过仿射加密的密文和密钥,请破译出它的明文。输入输入包含不超过1000组数据;每组数据包含一个由大写字母组成的字符串和两个正整数k1,k2,字符串长度不超过50,0输出每组输出占一行原创 2014-02-18 15:35:26 · 3491 阅读 · 0 评论 -
大数取余
(a * b) % c = ((a % c) * (b % c)) % c(a + b) % c = ((a % c) + (b % c)) % c10000位大的数字可以分开算:比如:m=123123 = (1*10 + 2)*10 + 3m%n = 123%n = (((1%n * 10%n + 2%n)%n * 10%n) % n + 3%n)%nstring原创 2014-02-15 17:36:04 · 922 阅读 · 0 评论 -
康托展开
知识点: 康托展开 和 逆康托展开/**注:转载zhongkeli**/康托展开 康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组 s = ["A", "B", "C原创 2014-02-15 19:34:52 · 722 阅读 · 0 评论 -
欧拉函数
poj2478--裸题题解:就是求n以内 所有互素的数 的组合数! 即n以内所有整数的欧拉函数之和!欧拉函数知识点 可以参考白书。// 2478 Accepted 4084K 235MS C++ 620B // 2478 Accepted 8000K 282MS C++ 735B #include //详细可以参见 白书!#include#includeusing names原创 2014-02-06 21:05:30 · 1041 阅读 · 0 评论 -
汉诺塔
汉诺塔(一)时间限制:1000 ms | 内存限制:65535 KB难度:3描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片原创 2014-02-12 20:58:36 · 690 阅读 · 0 评论 -
模线性方程
poj2115大致题意:对于C的for(i=A ; i!=B ;i +=C)循环语句,问在k位存储系统中循环几次才会结束。若在有限次内结束,则输出循环次数。否则输出死循环。解题思路:根据题意可得方程:A+C*X=B (X 再%2^k 就是最后要的结果。)X=[(B-A) / C]% 2^k =[(B-A) % 2^k] / C (C 不需原创 2014-01-29 21:31:30 · 815 阅读 · 0 评论 -
南阳-素数求和
很简单,最好不要把int定义在for里面会编译出错!#include#includeusing namespace std;int prime(int x){ int i; if(x==1) return 0; int m=sqrt(x); for(i=2;i<=m;i++) if(x%i==0) break; i--; if(i==m) return 1;原创 2013-08-22 20:35:22 · 656 阅读 · 0 评论 -
HDU1452-积性函数-素因子分解-乘法逆元
Happy 2004Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 834 Accepted Submission(s): 583Problem DescriptionConsider a positi转载 2013-08-23 17:49:20 · 1109 阅读 · 0 评论 -
南阳-韩信点兵
中国剩余定理:“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。”#includeusing namespace std;int main(){ int a,b,c; while(cin>>a>>b>>c) { int d=(a*70+b*21+c*15)%105; if(d=10) cout<<d<<endl; else原创 2013-08-23 20:41:19 · 775 阅读 · 0 评论 -
HDU1019-多个数的最小公倍数,最大公约数
Least Common MultipleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23934 Accepted Submission(s): 8980Problem DescriptionThe原创 2013-08-24 14:04:16 · 1535 阅读 · 0 评论 -
南阳-求最近的素数
简单题36MS#include#includeint isprime(int x){ if(x==1||x==0) return 0; int i; int m=sqrt(x); for(i=2;i<=m;i++) if(x%i==0) return 0; return 1;}int main(){ int N,i; scanf("%d",&N); whi原创 2013-08-23 20:27:32 · 817 阅读 · 0 评论 -
HDU1405-素数筛选
The Last PracticeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6491 Accepted Submission(s): 1311Problem DescriptionTomorrow原创 2013-08-23 15:41:29 · 760 阅读 · 0 评论 -
线性同余方程
/*********PS:该知识点必须先学 模线性方程!!**********/问题描述:给出bi,ni的值,且n1, n2, n3,…, ni两两之间不一定互质,求Res的值? 解:采用的是合并方程的做法。 这里将以合并第一第二个方程为例进行说明 由上图前2个方程得(设k1、k2为某一整数):解:采用的是合并方程的做法。 这里将以合并第一第二个方程为例进行说明原创 2014-02-01 21:26:25 · 968 阅读 · 0 评论