数论
文章平均质量分 56
ssslpk
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
计时器比较 gcd与stein
#include #include #include #include using namespace std; __int64 gcd(__int64 a,__int64 b){return b ? gcd(b,a%b): a;} __int64 stein(__int64 a,__int64 b) { if(a==b)return a; if(a==0)ret原创 2012-07-27 11:38:54 · 412 阅读 · 0 评论 -
hdu 1576 求解模线性方程
题意: 已知 gcd(B, mod)=1, A%B==0,A/B *B=n(mod mod); 给出B,n;求 A/B= ans (mod mod)中的ans 题解: 求解模线性方程 先求A/B,令A/B=x 则有B*x=n(mod mod),可想到扩展欧几里德 求出x,因为这里的x是B*x=1(mod 9973)的解,x之后还要乘n 代码如下: #include #inclu原创 2012-07-27 23:30:51 · 605 阅读 · 0 评论 -
poj1061 青蛙的约会 解二元一次不定方程
题目链接:http://poj.org/problem?id=1061 题目题目:在一个周长为L的圆圈上两只青蛙分别在s1,s2,速度(步长)分别为v1,v2,它们往同一风向走,问几步后相遇。 依然是扩展欧几里德,要注意的是这里数据范围很大,用64位并且用gcd处理一下,之前没处理就wa了好多次。 代码如下: //====================原创 2012-07-27 23:31:05 · 528 阅读 · 0 评论 -
hdu1573 X问题 中国剩余定理
题意:给出两个数 N,M,再给出M个除数NUM[],再给出对应的M个余数REMAIN[] 。 求在区间[1,N]内有多少个数满足所有情况。 除了应用扩展欧几里德和中国剩余定理,要注意的是可以将M个除数变成两个除数,然后更新除数和余数。 代码如下: //============================================================原创 2012-07-29 00:10:07 · 906 阅读 · 0 评论 -
hdu2669 扩展欧几里德 二元一次解不定方程
题意: 给出两个非负整数a,b 求x,y 使ax+by=1,而且x非负并最小的答案 题解: 朴素的欧几里德原理: gcd(a,b)=gcd(b,a mod b) 扩展欧几里德定理: 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b的最大公约数, 必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。 令a>b 当b==0 ,x=1,y=0; 否则,原创 2012-07-27 22:14:42 · 681 阅读 · 0 评论 -
poj2407 Farey Sequence 欧拉函数
//============================================================================ // Name : poj2407.cpp // Author : ssslpk // Version : // Copyright : Your copyright notice // Descripti原创 2012-08-29 00:23:57 · 657 阅读 · 0 评论 -
sgu491 Game for Little Johnny
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=491 题目意思: 对于 a*x+b*y=N的一个方程,给出N的值(1 解题思路: 用O(n * log(n))来记录1~100 000的所有的约数,然后对a 从1到 N/2上遍历求符合条件的b的个数 //用时 937ms //===================原创 2012-08-29 00:25:10 · 868 阅读 · 0 评论 -
poj1811 Prime Test 素数测试 +整数分解+分治
题目链接:http://poj.org/problem?id=1811 题目意思:给出一个数判断是否是素数,若不是素数,求出最小质因子 费马小定理:若p是素数,则有 a^(p-1) =1 (mod p ) , 1 二次探测定理: 若p是素数,对于 0 首先是素数的测试,根据费马小定理和二次探测定理对素数进行测试 整数分解: n为待分解数, 1原创 2012-08-20 23:42:45 · 590 阅读 · 0 评论 -
hdu3826 素数筛选
解题思路:保存10^6前的素数再逐个判断 没把“lld”改为“I64d” wa 了一个下午。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 //============================================================================ // Name : hdu3826原创 2012-08-20 23:43:20 · 657 阅读 · 0 评论 -
poj2379 Sum of Consecutive Prime Numbers(水)
/* * File: main.cpp * Author: ssslpk * * Created on August 28, 2012, 3:08 PM * * 题目意思: 给出一个数,求这个数有几种方法是由一至多个连续的素数之和 * 解题: 暴力水过 */ #include #include #include #include #include #define ma原创 2012-08-29 00:26:39 · 762 阅读 · 0 评论 -
poj 1365 Prime Land (质因子分解)
题目链接:http://poj.org/problem?id=1365 题目意思:n= p1^e1* p2^ e2* ……pk^ek 现在给出p1,e1 ,p2,e2……pk,ek。求n-1 的质因子与相对应的幂,质因子从大到小 代码如下: /* * File: main.cpp * Author: ssslpk *32ms * Created on Au原创 2012-08-29 00:27:03 · 856 阅读 · 0 评论 -
hdu1973 || poj3126 Prime Path
/* * File: hdu1973.cpp * Author: ssslpk * Created on August 28, 2012, 4:34 PM * 题意:给出两个四位数,现要改变第一个数中的个,十,百,千位当中的一个数 * 使它最终变成第二个数,要求这过程中形成的数是素数,问最少的步骤 * * 题解:素数筛选+bfs */ #include #include原创 2012-08-29 00:27:39 · 1315 阅读 · 0 评论 -
poj2689 素数二次筛选
/* * File: main.cpp * Author: riuhduo * * Created on October 6, 2012, 11:47 AM */ #include #include #include #include #include using namespace std; #define maxn 1 << 17 #define maxl 1原创 2013-03-13 10:33:18 · 510 阅读 · 0 评论 -
hdu1905||poj3641 Pseudoprime numbers
题意: 用a^p == a (mod p)两个数来判断 a^p是否是伪素数,若p是素数,输出"no" ,若a^p是伪素数,输出"yes",否则"no" 题解:当p是奇数时 有:( a^p)mod n = ((a % n) *(a ^ (p - 1)) % n) % n; 当p是偶数时:a ^ p = ( a ^ ( p / 2 ) * a^ ( p / 2)); 于是这里用分治求解;原创 2013-03-13 10:33:47 · 524 阅读 · 0 评论 -
数论公式2
斯特灵公式是一条用来取n阶乘近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特灵公式十分好用,而且,即使在 n很小的时候,斯特灵公式的取值已经十分准确。 公式为: 以下等式或者不等式均可以用数学归纳法予以证明! 1 + 3 + 5 + ... + (2n - 1) = n^2 1*2 + 2*3 + 3*4 + ... +转载 2013-03-13 10:34:24 · 632 阅读 · 0 评论
分享