关于java:用for循环解决最大公约数和最小公倍数问题

48次阅读

共计 996 个字符,预计需要花费 3 分钟才能阅读完成。

输出两个正整数 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,还有将来炽热的鸿蒙,当各种元素组合在一起,让咱们一起脑洞大开独特打造业余、好玩、有价值的开发者社区,帮忙开发者实现自我价值!

正文完
 0