10_输入两个正整数m和n,求其最大公约数和最小公倍数

来源:互联网 发布:残疾人人口基础数据库 编辑:程序博客网 时间:2024/06/06 10:40
package test;import java.util.Scanner;/** * 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 * 分析:在while循环中,只要除数不等于0,用较大的数除以较小的数,将较小的数作为下一轮循环的大数, * 取得的余数作为下一轮循环的较小的数,如此循环知道较小的数为0,返回较大的数,次数即为最大公约数, * 最小公倍数为两数之积除以最大公约数。 * * @author lishanquan * */public class Lianxi01 {public static void main(String[] args) {int a,b,m,n;Scanner s = new Scanner(System.in);System.out.print("请键入一个整数:");a = s.nextInt();System.out.print("请再键入一个整数:");b = s.nextInt();deff deff = new deff();m = deff.deff(a, b);n = a*b/m;System.out.println("最大公约数是:"+m);System.out.println("最小公倍数是:"+n);}}class deff{public int deff(int x, int y){int t;if(x < y){t = x;x = y;y = t;}while(y != 0){if(x == y){return x;}else{int k = x % y;x = y;y = k;}}return x;}}

0 0
原创粉丝点击