数论
K_y
这个作者很懒,什么都没留下…
展开
-
扩展欧几里得各类问题模板
扩展欧几里得各类问题模板 昨天看了一下扩展欧几里得,今天找了几个模板 1.欧几里得(最大公约数,最小公倍数) int gcd(int a,int b) { if((b==0) return a; else gcd(b,a%b); } 2.扩展欧几里得求最小整数解 给出 a*x+b*y=c原创 2016-08-25 09:51:26 · 850 阅读 · 0 评论 -
POJ The Embarrassed Cryptographer 2635 (数论)
题意:给出一个大数K,K是两个素数的乘积 再给出一个小于等于100W的L 问K的两个素数因子较小的那一个是否小于L 小于输出这个数,否则输出GOOD (如果在100W内没有找到因子,也输出GOOD) 分析:首先我们先把100W的素数求出来(打表素数筛) 然后根据同余模定理,比如 123对3取余 就是1%3=1 (1*10+2)%3=0 (0*10+3)%3=0 最后的结果就是0 这里需要把K转为千原创 2016-08-24 10:43:39 · 282 阅读 · 0 评论 -
POJ C Looooops 2115 (扩展欧几里得)
题意:给出a,b,c,k,算(a+x*c)%2^k是否等于b 分析:扩展欧几里得最小整数解 可以把上面的方程转成 a*x + 2^k*y = b 如果没有整数解,则永远到不了,套模板,这里有模板点击打开链接 #include <stdio.h> #include <string.h> #include <algorithm> #include <math.h> #include <stdlib.h> using namespace std; long long x,y; long long e_gcd(lo原创 2016-08-25 11:25:28 · 234 阅读 · 0 评论 -
POJ 青蛙的约会 1061 (扩展欧几里得)
裸的扩展欧几里得,这里有模板点击打开链接 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <algorithm> using namespace std; long long x,y; long long e_gcd(long long a,long long b,long long &x,long long &y) { if(b==0) { x=1原创 2016-08-25 11:29:45 · 230 阅读 · 0 评论 -
POJ Strange Way to Express Integers 2891(扩展欧几里得)
Strange Way to Express Integers Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 14558 Accepted: 4766 Description Elina is reading a book written by Rujia原创 2016-10-17 21:37:07 · 243 阅读 · 0 评论