✅创作者:陈书予
🎉个人主页:陈书予的个人主页
🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区
🌟专栏地址: Java华为OD机试真题(2022&2023)
文章目录
- 1. 题目描述
- 2. 输入描述
- 3. 输出描述
- 4. Java算法源码
- 5. 测试
- 6.解题思路
1. 题目描述
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。
数据范围:1≤a,b≤100000 。
2. 输入描述
输入两个正整数A和B。
3. 输出描述
输出A和B的最小公倍数。
4. Java算法源码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = a;
System.out.println(gcb(a, b, c));
}
public static int gcb(int a, int b, int c) {
if (a % b == 0) {
return a;
}
return gcb(a + c, b, c);
}
5. 测试
6.解题思路
- 从输入中读取两个正整数A和B。
- 初始化一个变量C为A。
- 调用函数
gcb
,传入A、B和C作为参数。 - 在
gcb
函数中,首先判断A是否能被B整除,如果可以,则A即为最小公倍数,返回A。 - 如果A不能被B整除,则递归调用
gcb
函数,传入A+C、B和C作为新的参数,继续求解。 - 继续递归,直到找到A能被B整除的情况,返回A作为最小公倍数。
- 在主函数中,输出最小公倍数。