最大公约数和最小公倍数

概念

(1)最大公约数:几个数共有的约数,为几个数的公约数,其中最大的一个叫做这几个数的最大公约数。

例如:

12的公约数为:1,2,3,4,6,12

18的公约数为:1,2,3,6,9,18

12和18公有约数为:1,2,3,6.其中最大的公约数也就是共有约束最大的为:6

(2)最小公倍数:几个数公有的倍数,叫做这几个数的公倍数,其中最小的一个,叫做几个数的最小公倍数

例如:

12的倍数有:12,24,36,48,60,72,84.。。

18的倍数有:18,36,54,72,90.。。

12和18的公有倍数为:36,72。。。其中36为最小的公倍数。

最大公约数和最小公倍数

方法1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int a = sc.nextInt();
System.out.println("请输入第二个数:");
int b = sc.nextInt();
int min = Math.min(a,b);
for (int i = min;i>0;i--){
if (a%i==0 && b%i==0){
System.out.println("最大公约数:"+i);
break;
}
}
int max = Math.max(a,b);
for (int i = max;i<=a*b;i++){
if (i%a==0 && i%b==0){
System.out.println("最小公倍数:"+i);
break;
}
}

}
}

方法2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int a = sc.nextInt();
System.out.println("请输入第二个数:");
int b = sc.nextInt();
int p = a*b;
while (b!=0){
int t = a%b;
a = b;
b =t;
}
System.out.println("最大公约数为:"+a);
System.out.println("最小公倍数为:"+p/a);
}
}

最大公约数和最小公倍数
http://example.com/2023/04/24/最大公约数和最小公倍数/
作者
zlw
发布于
2023年4月24日
许可协议