码迷,mamicode.com
首页 > 其他好文 > 详细

最大公约数及最小公倍数

时间:2018-04-11 00:10:17      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:最小公倍数   最小   int   out   turn   java   sys   while   util   


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);
 }
}

最大公约数及最小公倍数

标签:最小公倍数   最小   int   out   turn   java   sys   while   util   

原文地址:https://www.cnblogs.com/maxue/p/8783272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!