首页 > 代码库 > Java最大公约数 最小公倍数
Java最大公约数 最小公倍数
/**
* CommonDiviser.java
* @author:王超
* 2017年3月15日
* wangChaoPA实习工作练习.com.最大公约数和最小公倍数.CommonDiviser
* Copyright (c) 2007, 2016 Infopower corporation All Rights Reserved.
*/
package wangChaoPA实习工作练习.com.最大公约数和最小公倍数;
import java.util.Scanner;
/**
* o
*
*
* <p>
* 输入两个正整数m和n,求其最大的公约数和最小公倍数
* </p>
*
* @author 王超
* @since 1.0
* @date 2017年3月16日 下午11:08:18
* @see 新建|修改|放弃
* @see wangChaoPA实习工作练习.com.最大公约数和最小公倍数.CommonDiviser 解题思路:辗转相除法,若n>m 1:若n%m ==
* 0 则m为最大公约数 否则 n%m=k n=m,m=k 重复步骤1直到余数为0 最大公倍数=n*m/最大公约数
*/
public class CommonDiviser
{
private static Scanner input = new Scanner(System.in);
public static void main(String[] args)
{
int n = input.nextInt();
int m = input.nextInt();
int zdgys = result(n, m);
System.out.println("最大公约数是:" + zdgys);
System.out.println("最大公倍数是:" + n * m / zdgys);
input.close();
}
public static int result(int n, int m)
{
// 余数
int k = 0;
// 使n>m
if (n < m)
{
int t = 0;
t = n;
n = m;
m = t;
}
// 直到余数为0
while (m != 0)
{
k = n % m;
n = m;
m = k;
}
System.out.println(n);
return n;
}
}
Java最大公约数 最小公倍数