最大公约数与最小公倍数

来源:互联网 发布:锤子科技 成都 知乎 编辑:程序博客网 时间:2024/06/04 17:55

杭电ACM上有相关的试题,通过搜集资料得出笔记。


来源:http://www.2cto.com/kf/201304/206724.html , http://blog.sina.com.cn/s/blog_676370130101b66r.html


求最大公约数一般采用欧几里德算法。 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数。

再通过公式:两个数相乘等于这两个数的最大公约数和最小公倍数的积。求出最小公倍数


以下是我的代码:


import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner kb=new Scanner(System.in);while(kb.hasNext()){int n=kb.nextInt();int m=kb.nextInt();if(n<m){int temp=m;m=n;n=temp;}System.out.println("最大公约数:"+fact(n,m));System.out.println("最小公倍数:"+n*m/fact(n,m));}}public static int fact(int n,int m){while(n%m!=0){int temp=n%m;n=m;m=temp;}return m;}}


0 0
原创粉丝点击