码迷,mamicode.com
首页 >  
搜索关键字:数论算法    ( 28个结果
基本数论算法
dalao博客,至少很好看。。 因为本人数论实在渣渣,但是考试确是得考的,只好尽早学,尽早掌握。 最大公因数 普通gcd 1 inline int gcd(int x,int y) 2 { 3 return y == 0 ? x : gcd(y, x % y) 4 } 二进制优化gcd 1 inli ...
分类:编程语言   时间:2017-05-09 21:45:27    阅读次数:180
拓展欧几里得详解 及其题目 POJ 1061 2115 2142 UVA 10673 10090
最近做了一些拓展欧几里得的题目呢,嘛,从一开始的不会到现在有点感觉,总之把我的经验拿出来和大家分享一下吧。                普通的欧几里得是用于解决求两个数a,b的gcd的,但是我们知道,gcd是线性组合 { ax+by | x,y∈Z }里的最小正元素(什么?不知道怎么来的?好吧。。。算法导论里数论算法那一章有证明),假若我们能够把这个x和y找出来,那么可以用来解决很多问题。 ...
分类:其他好文   时间:2016-08-22 15:01:30    阅读次数:301
【数论算法基础理论与实现】
1.基础 【除法定理】:对于任何整数a和正整数n,存在唯一整数q和r,满足0<=r<n且a=qn+r WARN:C++中貌似不完全遵守这个东西,n认为是|n|,并且a为负时r可以为负 【】 2.最大公约数 几条性质:gcd(a,b)=gcd(|a|,|b|) gcd(a,0)=|a| gcd(a,k ...
分类:编程语言   时间:2016-08-13 01:17:27    阅读次数:262
分享给某人的前端面试题库(二)-算法
基本算法(pascal) 1.数论算法 求两数的最大公约数 function gcd(a,b:integer):integer; begin if b=0 then gcd:=a else gcd:=gcd (b,a mod B); end; 求两数的最小公倍数 function lcm(a,b:i ...
分类:编程语言   时间:2016-07-06 23:24:07    阅读次数:281
整理小朋友在noi.openjudge上的作业(4)
第四章(含小学奥数)计97题,已完成8题 4.1 算法之排序和算法性能 4.2 算法之数论 4.3 算法之图论 4.4 算法之分治 4.5 算法之动态规划 4.6算法之贪心 4.7算法之搜索 小学奥数 ...
分类:其他好文   时间:2016-05-25 12:47:10    阅读次数:373
数论算法模板(不定期更新)
/**********/ #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; /***...
分类:编程语言   时间:2016-03-17 01:52:45    阅读次数:342
算法大全(c,c++)
http://www.2cto.com/kf/201109/105758.html算法大全(C,C++)一、数论算法1.求两数的最大公约数function gcd(a,b:integer):integer;beginif b=0 then gcd:=aelse gcd:=gcd (b,a mod b...
分类:编程语言   时间:2015-11-11 23:59:00    阅读次数:481
常用数论算法
1.求两数的最大公约数function gcd(a,b:integer):integer; begin if b=0 then gcd:=a else gcd:=gcd (b,a mod b); end ;2.求两数的最小公倍数function lcm(a,b:intege...
分类:编程语言   时间:2015-11-06 11:12:48    阅读次数:233
素数筛法
/*给定一个正整数N,求出[2,N]中的所有素数*/ #define maxn 1000000 boool vis[maxn]; void getprime(int n, int &tot, int ans[]) //筛法将合数筛掉,留下的则是素数 ,用于快速判断一个区间内的所有素数 { fot = 0; //记录素数的个数 for (int i = 2; i<= n; i++)...
分类:其他好文   时间:2015-08-03 09:01:48    阅读次数:186
a*b(mod m)的实现过程
/*a*b (mod m) 的实现过程*/ /*当a,b很大的时候mod m就会产生溢出, 故运用乘法原理转换为加法求解*/ LL multi(LL a, LL b, LL m) { LL exp = a %m, res = 0; while (b) { if (b & 1) //b的最低位是否为1 { res = res + exp; if (res >= m)...
分类:其他好文   时间:2015-08-03 08:59:09    阅读次数:133
28条   上一页 1 2 3 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!