java:输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。

java:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:利用辗除法。... java:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序分析:利用辗除法。
展开
 我来答
期待后续
2016-05-24 · TA获得超过243个赞
知道小有建树答主
回答量:269
采纳率:33%
帮助的人:179万
展开全部

程序运行截图:

辗除法——辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。

代码:

public class Test {

public static final void main(String[] args) {
System.out.println("请输入两个正整数");
System.out.print("第一个正整数:");
Scanner scanner = new Scanner(System.in);
String one = scanner.nextLine();
int a = Integer.valueOf(one);
System.out.print("第二个正整数:");
String two = scanner.nextLine();
int b = Integer.valueOf(two);
System.out.println("a = " + a + ", b =" + b);
// 求最大公约数
// 1. a ÷ b,令temp为所得余数(0≤r<b)
// 若 temp = 0,算法结束;b 即为答案。
// 2. 互换:置 a←b,b←temp,并返回第一步。
int temp, num1 = a, num2 = b;
if (a < b) {
// 互换位置
temp = b;
b = a;
a = temp;
}
System.out.println("a = " + a + ", b =" + b);
while (b != 0) {/* 利用辗除法,直到b为0为止 */
temp = a % b;
a = b;
b = temp;
}
System.out.println("最大公约数:" + a);
// 求最小公倍数
System.out.println("最小公倍数:" + num1 * num2 / a);
}
}
追问
哇啊!你这人真nice
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式