一、问题描述
从键盘接收两个数字,求其最大公约数
二、分析
这里用到的方法是辗转相除法
1、什么是辗转相除法呢?
当余数为0的时候,此时的除数就是最大公约数
2、举例
3、我们这里a为24、b为18,a>b,那么a<b的时候是什么样的呢?

三、代码实现
import java.util.Scanner;
public class MaxNum {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“请输入两个数字:”);
int a=sc.nextInt();
int b=sc.nextInt();
int c=a%b; //24%18=6
while(c!=0){//余数不为0
a=b; //a=18
b=c; //b=6
c=a%b; //18%6=0 余数为0时跳出循环,最大公约数就是此时的除数b
}
System.out.println(“最大公约数为”+b);
}
}
四、运行结果

本文介绍了一种计算两个整数最大公约数的方法——辗转相除法,并通过Java代码实现了这一算法。该方法在数学和编程中广泛应用,特别适用于解决与因数分解和最小公倍数相关的问题。
937

被折叠的 条评论
为什么被折叠?



