最大公约数及最小公倍数

Posted 马蓉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最大公约数及最小公倍数相关的知识,希望对你有一定的参考价值。


import java.util.*;
public class Testshu
{
 public static void main(String [] args)
 {
  //定义两个整型数
  int a;
  int b;
 
  Scanner sc = new Scanner(System.in);

 //调用java.util.Scanner可以获得从键盘输入的数字;
  System.out.println("请输入一个数:");
  //nextInt()方法用来获取int数
  a = sc.nextInt();
  System.out.println("请再输入一个数:");
 
  b = sc.nextInt();
 
 
  if(b<a) //判断两个数的大小,a比b小不用换,a比b大则互换位置
  {
   int temp = a;
   a = b;
   b = temp;
  }
  System.out.println("最大公约数为:"+GYS(a,b);
  System.out.println("最小公倍数为:"+GBS(a,b);
 }

//求最大公约数
 public static int GYS(int a, int b)
 {
  //利用递归,大数除小数,若余数不为0,则让较小得数a做被除数,余数k做除数,直到k=0,此时a为最大公约数
  //将求余之后的值作为a    * 将之前的a作为b直到求余值为0为止结束循环
  while(b%a != 0)
  {
   int k = b%a;
   b = a;
   a = k;
  }
  return a;
 }

 //求最小公倍数
 public static int GBS(int a ,int mab)
 {
  //最小公倍数就是两个数相乘再除以最大公约数
  return a*b/GYS(a,b);
 }
}

以上是关于最大公约数及最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章

如何将ansys中最大值(MX)最小值(MN)标志显示及坐标取消

找出一组数组中最大值最大值的角标最小值最小值的角标及平均数

C++从5个数中取最大数及最小数怎么编程(保留6位小数)

用python输出最大的数和最小的数,及最大数和最小数的平均值,这个应该怎么做?

最大公约数和最小公倍数

最大最小值及比较器