- 4
- 0
- 约1.55万字
- 约 20页
- 2018-12-20 发布于湖北
- 举报
信息学跟数学基础
第一章 有关数论的算法
1.1 最大公约数与最小公倍数1.2 有关素数的算法1.3 方程ax+by=c的整数解及应用
1.4 求a^b mod n 1.1最大公约数与最小公倍数
1.算法1: 欧几里德算法求a,b的最大公约数?function gcd(a,b:longint):longint;?begin?if b=0 then gcdd:=a?else gcd:=gcd(b,a mod b);?end;2.算法2:最小公倍数acm=a*b div gcd(a,b);
3.算法3:扩展的欧几里德算法,求出gcd(a,b)和满足gcd(a,b)=ax+by的整数x和y?function exgcd(a,b:longint;var x,y:longint):longint;vart:longint;beginif b=0 then??begin? result:=a;? x:=1;? y:=0;?endelse?begin?result:=exgcd(b,a mod b,x,y);?t:=x;?x:=y;?y:=t-(a div b)*y;?end;end;
(理论依据:gcd(a,b)=ax+by=bx1+(a mod b)y1=bx1+(a-(a div b)*b)y1=ay1+b(x1-(a div b)*y1))
1. 2
原创力文档

文档评论(0)