输出两个正整数 m 和 n,求其最大公约数和最小公倍数。
- 思路剖析
- 具体代码
思路剖析
1. 先解决如何在键盘输入两个正整数 m 和 n
2. 非凡状况下,公约数最大为 m 和 n 之间较小的一个,公倍数最小为 m 和 n 之间较大的一个,所以须要先比拟出 m 和 n 的大小并赋值给变量 max 和 min
如 4 和 12(最大公约数为 4,最小公倍数为 12)
3. 开始遍历,在 for 循坏中定义变量 i
for(int i = min;i > 0;i --);`
`for(int i = max;i <= m * n;i ++);
4. 用 for 循环求两数之间的公约数和公倍数容易实现,然而求最大公约数和最小公倍数,即输入一个数之后如何终止 for 循环,就须要用到一个关键字:
break;
5. 接着用 for 循环语句求出最大公约数和最小公倍数,而后用 break 关键字终止循环
具体代码
在键盘输入两个正整数 m 和 n
import java.util.Scanner;
class ForTest2{public static void main(String[] args){Scanner scan = new Scanner(System.in);
System.out.println("请输出一个正整数:");
int m = scan.nextInt();
System.out.println("请再输出一个正整数:");
int n = scan.nextInt();
比拟出 m 和 n 的大小
int max = (m >= n)? m : n;
int min = (m <= n)? m : n;
用 for 循环语句求取出最大公约数和最小公倍数,而后用 break 关键字终止循环
for(int i = min;i > 0;i --){if(m % i == 0 && n % i == 0){System.out.println("m 和 n 的最大公约数为:" + i);
break;
}
}
for(int i = max;i <= m * n;i ++){if(i % m == 0 && i % n == 0){System.out.println("m 和 n 的最小公倍数为:" + i);
break;
}
}
原文链接:https://www.sdk.cn/details/D0yO78vODG5BkrQGgv
SDK 社区是一个中立的社区,这里有多样的前端常识,有丰盛的 api,有爱学习的人工智能开发者,有有趣风趣的开发者带你学 python,还有将来炽热的鸿蒙,当各种元素组合在一起,让咱们一起脑洞大开独特打造业余、好玩、有价值的开发者社区,帮忙开发者实现自我价值!