解题思路:


一、求最大公约数的方法:1.穷举法(容易想,但是比较慢) 2.辗转相除法   3.更相减损法。这里我们介绍第二种方法;

二、求最小公倍数的方法:1.穷举法  2.假设x和y的最大公约数为temp,那么最小公倍数为x*y/z。这里我们用第二种方法

三、辗转相除法的步骤,先看示例: 

x = 5 , y = 7;

max = 7 , min = 5;

7 % 5 = 2;

5 % 2 = 1;

2 % 1 = 0;

那么最大公约数就是1

看到这里大家应该有些眉目了,就是先拿x和y中的max%min , 假如结果为0,那么min就是最大公约数;

否则,temp = max%min,  max = min, min = temp;也就是让max=min,min等于刚刚整除的结果;

一直循环下去,直到结果为0,最后的min就是最大公约数;

四、求最小公倍数:

公式为: x*y/z , z是它们的最大公约数;

那么,最小公倍为:5*7/1 = 35;


注意事项:
注意退出循环的条件

参考代码:

import java.util.Scanner;

public class Main 

{

public static void main(String[] args)

{

     Scanner sc = new Scanner(System.in);

     int a = sc.nextInt();

     int b = sc.nextInt();

     int max = Math.max(a, b);

     int min = Math.min(a, b);

     while(true)

     {

         if(max % min==0)

         {

             System.out.print(min+" ");     

             System.out.println(a*b/min);

             break;

         }

         else

         {

             int temp = max%min;

             max = min;

             min = temp;

         }

     }

     sc.close();

}


}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论