数论
文章平均质量分 51
AC_0_summer
这个作者很懒,什么都没留下…
展开
-
HDU 1019 Least Common Multiple-数论(最小公倍数)
题意:求n个数的最小公倍数 分析:用方法:lcm(a,b,c)=lcm(a,lcm(b,c))。注意先除后乘防止整数溢出(小技巧) 代码: #include using namespace std; int t,n,a; int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } int main() { cin>>t; while(t--){原创 2015-07-14 00:55:27 · 1476 阅读 · 0 评论 -
POJ 2739 Sum of Consecutive Prime Numbers-数论-(连续素数和)
题意:求有多少种连续素数和是n,n的范围:2~10000 分析:预处理出10000内的素数,然后每输入一个n就用二重循环找出sum==n的个数,因为素数约为1200个,O(n^2)不会超时 代码: #include #include #include #include #define max(a,b) a>b?a:b using namespace std; int n,prim[5000]原创 2015-07-14 15:36:15 · 896 阅读 · 0 评论 -
POJ 2115 for求循环次数-数论-(同余方程+扩展欧几里得算法)
题意:给定for循环的初始值,结束值和增量,还有一个模,求最少的循环次数。 分析: 读完题后应该就知道是一个同余的概念,所以就是解一个一元一次同余方程,像上题一样用扩展欧几里得算法。这题的trick点是k最大为32,那么2^32超出了int,要用long long,所以在1 代码: #include #include #include #include #include #include原创 2015-08-14 02:31:36 · 1149 阅读 · 0 评论 -
POJ 1061 青蛙绕地球约会-数论-(解一元一次同余方程+扩展欧几里得算法)
题意:两只青蛙同向跳,起点是x,y,每次分别跳m,n米,地球周长是L,求最少跳几次相遇。 分析: 把式子写好就发现是一个一元一次同余方程。用扩展欧几里得算法来求。这题很基本得会。 代码: #include #include #include #include #include #include #define INF 1000000007 using namespace std; long原创 2015-08-14 02:00:39 · 1018 阅读 · 0 评论 -
POJ 1181 大整数是否为素数以及求大整数的质因数-数论-(Miller_rabin+Pollard_rho)
题意:求一个整数是否是素数,如果不是,则输出它最小的质因数。 分析: 判断一个大整数是否为素数用Miller_rabin算法,求一个大整数的所有质因数用Pollard_rho算法。这题就是直接套模板。 另外这里的gcd和pow_mod不能用一般的方式,T了。代码里我注释掉的就是T了的写法。 代码: #include #include #include #include #include原创 2015-08-14 19:04:47 · 1320 阅读 · 0 评论