每天一道编程题----------------辗转相除法求两个数的最大公约数及其证明
来源:互联网 发布:arp绑定mac地质作用 编辑:程序博客网 时间:2024/05/16 01:16
证明方法为转载:
设两数为a、b(a>b),b最大公约数(a,b)的步骤如下:用b除a,得a=bq......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。
原理及其详细证明
设两数为a、b(b<a),用gcd(a,b)表示a,b的最大公约数,r=a mod b 为a除以b以后的余数,辗转相除法即是要证明gcd(a,b)=gcd(b,r)。
证毕。
一下代码为原创编写,如有更好地意见,请大家提出...........
要求两个数的最小公倍数只要将两个数相乘再除以最大公约数即为最小公倍数。
public class ContinuousDivision {public static int continuousdivision(int a, int b) {if (a < b) {int temp = a;a = b;b = temp;} if (a % b != 0) {int r = a % b;return continuousdivision(b, r);}else{return b;}} public static void main(String[] args) {System.out.println("两个数的最大公约数为:"+continuousdivision(55, 99)); System.out.println("两个数的最小公倍数为:"+(55*99)/continuousdivision);}}
- 每天一道编程题----------------辗转相除法求两个数的最大公约数及其证明
- 辗转相除法求两个数最大公约数
- 求两个数的最大公约数:辗转相除法
- 用辗转相除法求两个数的最大公约数
- 辗转相除法求两个数的最大公约数
- 辗转相除法求两个数的最大公约数
- 辗转相除法求两个数的最大公约数
- 辗转相除法求两个数的最大公约数
- 辗转相除法求两个数的最大公约数
- 辗转相除法求两个数的最大公约数
- 习题:求两个数的最大公约数-辗转相除法
- 辗转相除法求两个数的最大公约数
- 求两个数的最大公约数——辗转相除法
- 辗转相除法 求 两个数的 最大公约数 和 最小公倍数
- 辗转相除法求两个数的最大公约数
- 关于辗转相除法求最大公约数及其简单证明
- c语言经典题算法1--用辗转相除法求两个数的最大公约数
- C语言 求两个数的最大公约数 (算法)--辗转相减法、辗转相除法
- 论坛签名
- 2011年 C++程序设计
- 黑马程序员 java 可能遇到的异常
- DEBUG命令
- 2011年 C++程序设计
- 每天一道编程题----------------辗转相除法求两个数的最大公约数及其证明
- 双语对齐工具Champollion tool kit的配置和使用
- KEIL 调试 ADDRESS SPACE OVERFLOW 的问题
- Google Maps API 网络服务
- C#常见题
- CTI的修改密码模块和退出模块
- 关于c->c++过渡的一些小细节
- 初学Java,IdentityHashMap实现类(三十三)
- QT 的信号与槽机制