#创作挑战赛#
❝
❤️作者简介:大家好,我是小虚竹。Java领域优质创作者,CSDN博客专家,华为云享专家,掘金年度人气作者,阿里云专家博主,51CTO专家博主
❤️技术活,该赏
❤️点赞 收藏 ⭐再看,养成习惯
❞
零、前言今天是学习 「JAVA语言」 打卡的第6天,我的学习策略很简单,题海策略 费曼学习法。如果能把这100题都认认真真的自己实现一遍,那意味着 「JAVA语言」 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。
一、题目描述题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数
二、解题思路用辗除法。
循环从n和m中最小的数开始递减,如果m,n都可以整除,则是最大公约数
循环从n和m中最大的数开始递增,如果在小于等于n*m的积时,出现m,n都可以整除,则是最小公倍数
用户在控制台输入,可以用此方法
❝
Scanner input = new Scanner(System.in);
m=input.nextInt();
❞
三、代码详解
public class Basics06 {
public static void main(String[] args) {
int m,n,i;
Scanner input = new Scanner(System.in);
System.out.print("请输入1个正整数:");
m=input.nextInt();
System.out.print("请再输入1个正整数:");
n=input.nextInt();
//循环从n和m中最小的数开始~2,如果m,n都可以整除,则是最大公约数
for(i=Math.min(m, n);i>=2;i--) {
//判断n和m是否能够整除i
if(m%i==0 && n%i==0) {
System.out.println(i "是最大公约数");
break;
}
}
if(i==1){
System.out.println("没有最大公约数");
}
for(Math.max(m,n);i<=m*n;i ) {
if(i%m==0 && i%n==0){
System.out.println(i "是最小公倍数");
break;
}
}
}
}
我是虚竹哥,我们下一题见~
,