java求最小公倍数注释?=0){//运用辗转相除法求出最大公约数fan=a%b;//fan为余数,因为余数不为0a=b;//除数作为被除数,把b赋值给ab=fan;//余数作为除数,把fan赋值给b}System.out.println;//输出最大公约数System.out.print;//最小公倍数=输入的那两个值/最大公约数}},下面我们就来说一说关于java求最小公倍数注释?
java求最小公倍数注释?较大数除以较小数,若余数不为0,则余数作为除数,上次的除数作为被除数,继续相除,直到余数为0,此时的除数即为最大公约数import java.util.*;public class Main {public static void main(String[] args) {Scanner rd = new Scanner(System.in);int a=rd.nextInt();int b=rd.nextInt();int fan=0; //定义余数int a1=a; // 定义a1保存a的值int b1=b; // 定义b1保存b的值if(a<b) { //始终保持a比b大int max=a;a=b;b=max;}while(a%b!=0) { //运用辗转相除法求出最大公约数fan=a%b; //fan为余数,因为余数不为0a=b; //除数作为被除数,把b赋值给ab=fan; //余数作为除数,把fan赋值给b}System.out.println(b); //输出最大公约数System.out.print(a1*b1/b); //最小公倍数=输入的那两个值/最大公约数}}
,下面我们就来说一说关于java求最小公倍数注释?我们一起去了解并探讨一下这个问题吧!
java求最小公倍数注释
方法 : 求两个数的最大公约数,可以用辗转相除法,同样,也可以用辗转相减法(《九章算术》里也叫更相减损术)一般情况下,辗转相除法的优势在于循环次数少,而辗转相减法的优势在于,对cpu 来说 做减法比除法更快。
例子:辗转相除法
较大数除以较小数,若余数不为0,则余数作为除数,上次的除数作为被除数,继续相除,直到余数为0,此时的除数即为最大公约数import java.util.*;public class Main {public static void main(String[] args) {Scanner rd = new Scanner(System.in);int a=rd.nextInt();int b=rd.nextInt();int fan=0; //定义余数int a1=a; // 定义a1保存a的值int b1=b; // 定义b1保存b的值if(a<b) { //始终保持a比b大int max=a;a=b;b=max;}while(a%b!=0) { //运用辗转相除法求出最大公约数fan=a%b; //fan为余数,因为余数不为0a=b; //除数作为被除数,把b赋值给ab=fan; //余数作为除数,把fan赋值给b}System.out.println(b); //输出最大公约数System.out.print(a1*b1/b); //最小公倍数=输入的那两个值/最大公约数}}
例子:辗转相减法
有两整数a和b:① 若a>b,则a=a-b② 若a<b,则b=b-a③ 若a=b,则a(或b)即为两数的最大公约数④ 若a≠b,则再回去执行①例如求27和15的最大公约数过程为:27-15=12( 15>12 ) 15-12=3( 12>3 )12-3=9( 9>3 ) 9-3=6( 6>3 )6-3=3( 3==3 )因此,3即为最大公约数例子:import java.util.*; public class Main { public static void main(String[] args) {Scanner rd = new Scanner(System.in);int a=rd.nextInt();int b=rd.nextInt();int c=a*b;while(a!=b) {if(a>b) {a=a-b;}else {b=b-a;}}System.out.println(a); //最大公约数System.out.println(c/a); //最小公倍数}}
作者:今日头条 KJ丶JK /CSDN-KJ.JK