题目
输入两个或多个正整数,输出它们的最大公约数,例:
- 输入:25 10 15
- 输出:5
1、思路分析
首先,需要明确什么叫最大公约数,即几个数中公有的最大的因数。
其次,怎么求解最大因数呢?一个数,我们可以求出所有的质因子,那多个数呢?显然也能。
最后,通过下面的图解(待画…)分析得知,最大公约数=所有公有的质因子的乘积。
2、初步实现
2.1、两个整数的最大公因数
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String[] str = sc.nextLine().split(" ");
int number1 = Integer.parseInt(str[0]);
int number2 = Integer.parseInt(str[1]);
List<Integer> list = new ArrayList<>();
Main.getFactor(list, number1, number2);
System.out.print(number1 + "与" + number2 + "的公有质因子为:");
list.forEach(integer -> System.out.print(integer + " "