数学
如雨星空
推荐系统在读研究生
展开
-
hdu1713
百度: 比如一个卫星的周期为3圈每天,另一个为4圈每天,相遇周期就为12圈每天。 此题就是求两个分数的最小公倍数; 设输入a1/b1,a2/b2; 设最小公倍数为a3/b3; 通过运算可以得出a3需要为a1,a2最小公倍数,b3需要为b1,b2最大公约数 运算过程中别忘了化简,否则可能溢出; 最后输出的时候可以先化简然后判断判断b3是否为1然后输出,也可以直接判断能否整除然后输出;原创 2016-04-28 22:06:11 · 598 阅读 · 0 评论 -
hdu2104 辗转相除法
分析:用基本的辗转相除法 /* * Filename: code.cpp * Created: 2017-10-10 * Author: wyl6 *[mail:17744454343@163.com] * Desciption: Desciption */ #include #include #include #include #include #inclu原创 2017-10-10 17:19:19 · 406 阅读 · 0 评论 -
poj2115欧几里德扩展
欧几里德扩展算法原创 2017-10-11 16:46:02 · 197 阅读 · 0 评论 -
欧几里德算法扩展
欧几里德及其扩展原创 2017-10-11 16:59:31 · 214 阅读 · 0 评论 -
poj1152An Easy Problem! 模运算
题意:给你一个N进制的数R,求能表示R的最小进制N,并且满足R能被N-1整除。进制范围[2,62]。输入的时候可能会出现0-9,A-Z,a-z字符。 分析: 1.R%(N-1) == 0 对于n进制的数abcd,sum = a*n3+b*n2+c*n+d,sum%(n-1) ==0,也就是 (a*n3+b*n2+c*n+d)%(n-1) == 0 nt%(n-1) = (1+n-1)t %原创 2017-10-13 16:42:08 · 265 阅读 · 0 评论 -
poj1365 整数分解(质因数分解)
题意:给出一个数x的质因数表达式,请你算出x-1的质因数表达式 分析: 首先求出x,然后对x-1进行整数分解(质因数分解),整数分解可以直接套模板。 在处理过程中,发现用int定义x和y时,用pow函数运算时会造成数据丢失,因此用double定义。 首先看质因数分解模板: //摘自《挑战程序设计竞赛》p118 map prime_factor(int n) { map原创 2017-10-13 20:23:39 · 1363 阅读 · 0 评论 -
poj3126 埃式筛法+bfs
题意:求素数a变换到素数b的最小步数,每次只能更改一位,且更改后的数也是素数。每次输入的两个素数都是4位数。 解法一:利用埃式筛法打表,用数组记录素数,把所有素数放在一个数组中,然后在这个数组的基础上进行bfs。 解法二:打表记录每个数的素数性质,然后将a的每一位依次改变,进行bfs,前面的打表在bfs中作为一个判断条件。 解法一代码: /* @Filename: test.cpp @Ve原创 2017-10-15 16:03:15 · 296 阅读 · 0 评论 -
埃式筛法模板及其改进
埃式筛法:“埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。” 算法复杂度:O(nloglogn),可以看成线性的 模板一(《挑战程序设计竞赛p118》): //埃式筛法 //求n以内的质数的个数 int p; int prime[maxn]; b原创 2017-10-15 16:19:24 · 1249 阅读 · 0 评论 -
poj2689 Prime Distance
分析:大数区间素数,要用区间筛法 先看模板: void segment_sieve(ll a,ll b) { for(int i = 0; (ll)i*i <= b; i++) is_prime_small[i] = true; for(int i = 0; i <= b-a; i++) is_prime[i] = true; for (int i = 2; (ll)原创 2017-10-26 23:07:34 · 222 阅读 · 0 评论