辗转相除法
欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b) ——百度定义
原理 例如求18与12的最大公约数,将一个数作为被除数,一个作为除数;然后小的作为下一次的被除数,上一次的结果的余数作为新的除数。直至余数为0.
18/12=1…6
12/6= 2…0
package cho4_ProcessControl;
//用辗转相除法求的两个整数的最大公约数
import java.util.Scanner;
public class dowhile_1 {
public static void main(String[] args) {
int a,b,k;
String str1,str2;
Scanner sc =new Scanner(System.in);
System.out.println("请输入第一个数: a = ");
a = sc.nextInt();
System.out.println("请输入第二个数: b = ");
b = sc.nextInt();
do {
k = a%b;
a = b;
b = k;
}while(k!=0);
System.out.println("两个数最大公约数是"+a);
}
}