首页 > 编程知识 正文

最小公倍数辗转相除法,辗转相除法可以求最小公倍数吗

时间:2023-05-05 09:29:26 阅读:173182 作者:3963

给出两个问题描述a、b,求出a、b的最大公约数、最小公倍数

问题分析:辗转相除,又名fdddn算法是求最大公约数的一种方法。 具体的做法是,将大的数除以小的数,用出现的馀数(第一馀数)去除除数,用出现的馀数(第二馀数)去除第一馀数,直到最后的馀数变为0,反复进行,求两个数的最大公约数,最后的除数就是那个

最小公倍数是这两个数的乘积除以这两个数的最大公约数。 那么,现在的问题是求出这两个数的最大公约数。 让我们看看如何求出最大公约数。

代码实现:1、数据处理代码

public class deal { /** *辗转相除中最大公约数* @param a输入的a * @param b输入的b * @return为max,a,b的最大公约数*/publicintmaxg(inta,int b ) b:a; max=ba? b:a; wile (最小!=0) { r=max%min; max=min; 最小=r; } return max; } /** *最小公倍数* @param a输入的a * @param b输入的b * @param max a,b的最大公约数* @return为min,a,b的最小公倍数*/publicintming(int b,inta,int b }} 2、主函数

public class main { publicstaticvoidmain (string [ ] args ) { int a,b; deal deal=new deal (; sannersc=newscanner(system.in; system.out.println ('请输入两个整数: a=sc.nextInt (; b=sc.nextInt (; intmax=deal.maxg(a,b ); intmin=deal.ming(a,b,max ); system.out.println('a,b的最大公约数为' max ); system.out.println(a,b的最小公倍数为' min ' ); } 3,1 )测试用例: a=6,b=8

结果: a、b的最大公约数为2

a、b最小公倍数是24

总结

求最大公约数、最小公倍数的方法有很多种,本文主要就辗转除法进行说明。 如果有更好的方法请留言,互相交流学习。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。