题目:
输入两个正整数m和n,求其最大公约数和最小公倍数。
解题思路:
m和n的最大公约数指m与n的所有公约数中最大的那个公约数,比如4和6的最大公约数是2 正整数m和n的最小公倍数是指m和n的所有公倍数中最小的那个。比如4和6的最小公倍数是12。 循环k=i%j 若k=0,则j即为两数的最大公约数 若k≠0,则i=j,j=k,再次循环 最小公倍数=两数相乘除以最小公约数
代码实例:
public class Demo6 {
//输入两个正整数m和n,求其最大公约数和最小公倍数。
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("请输入两个正整数:");
int m = reader.nextInt();
int n = reader.nextInt();
gong(m,n);
}
public static void gong(int m, int n) {
int k,i;
int a,b;
a = m;b = n;
for (int x = 0;;x ++){
k = m % n;
if (k == 0) {
break;
}
else {
i = n;
n = k;
m = i;
}
}System.out.println(n+"是"+a+"和"+b+"的最大公约数");
int z;
z = (a * b) / n;
System.out.println(z+"是"+a+"和"+b+"的最小公倍数");
}
输出结果:
请输入两个正整数:4 6
2是4和6的最大公约数
12是4和6的最小公倍数