文章目录
一、自定义函数处理最大公约数与最小公倍数
1.问题描述
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
2.输入格式
两个数
3.输出格式
最大公约数 最小公倍数
4.样例输入
6 15
5.样例输出
3 30
二、最大公约数与最小公倍数
1.最大公约数
利用辗转相除法可求得最大公约数。其思想为:让a作被除数,b作除数,进行除法运算求得余数c;然后让b作被除数,c作除数,相除求余数,重复上述操作,直到余数为0时,则此时的除数则为所求的最大公约数。例如:求gcd(4,6)
4%6=4
6%4=2
4%2=0
则2为4和6的最大公约数
2.最小公倍数
两个数的最小公倍数为这两个数的乘积除以这两个数的最大公约数。
三、java 方法
java自定义函数在java中称为方法,其定义一个的语法为
修饰符 返回值类型 方法名 (形参类型 形参名){
…
方法体
…
return 返回值
}
如:
public static int gcd (int n1,int n2){…}
如果没有返回值,则返回值类型为void。
四、java代码实现
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
int max = gcd(num1,num2); //最大公约数
int min = lcm(num1,num2,max); //最小公倍数
System.out.println(max+" "+min);
}
//利用辗转相除法求最大公约数
public static int gcd(int a,int b){
int c;
while(b != 0){
c = a;a = b;b=c % a;
}
return a;
}
//求最小公倍数
public static int lcm(int m,int n,int tgcd){
return m*n/tgcd;
}
}