OJ-1063: 最大公约与最小公倍、Java

题目描述

输入两个正整数,输出其最大公约数和最小公倍数。

输入

输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。

输出

输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。

样例输入

4 6

样例输出

2 12

提示

注意运算过程中的溢出问题

代码示例

注意:
System.out.print(num_max+" "+m/num_maxn);
上面这行代码不可以写成如下:
System.out.print(num_max+" "+m
n/num_max);

import java.util.Scanner;
public class Main{
    
    
	public static void main(String[] args){
    
    
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		int n = sc.nextInt();
		int num_min = n;
		int num_max = m;
		int result = 1;
		if(n > m){
    
    
			num_min = m;
			num_max = n;
		}
		while(num_min != 0){
    
    
			result = num_max % num_min;
			num_max = num_min;
			num_min = result;
		}
		System.out.print(num_max+" "+m/num_max*n);
	}
} 

注意:
System.out.print(num_max+" "+m/num_maxn);
上面这行代码不可以写成如下:
System.out.print(num_max+" "+m
n/num_max);

猜你喜欢

转载自blog.csdn.net/weixin_43796109/article/details/111214556