当前位置 博文首页 > YHSevenWater的博客:Java辗转相除法求最大公约数和最小公倍数。
package com.java.demo;
import java.util.Scanner;
public class CommonDivisor {
/*
求最大公约数和最小公倍数
最小公倍数:两数相乘/最大公约数
最大公约数:辗转相除法
* */
//静态方法中不可以使用this关键字
//静态方法不能直接调用非静态方法
public static int gcd(int m, int n){ //main方法为静态方法,所以gcd需要声明为静态的,才可以通过main方法来调用使用。
int reuslt = 0;
while(n>0){
reuslt = m%n;
m = n;
n = reuslt;
}
return m;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//输入两个正整数
System.out.print("请输入第一位正整数:");
int a = scanner.nextInt();
System.out.print("请输入第二位正整数:");
int b = scanner.nextInt();
int c = gcd(a,b);
System.out.println("最大公约数为:"+c+"\n最小公倍数为:"+(a*b/c));
}
}
cs