最大公约数及最小公倍数
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)标志显示及坐标取消