#26467. 数论基础

数论基础

题目描述

小涵的数学作业要求完成数论基础计算:输入两个正整数A和B,先使用枚举法求出它们的最大公约数(GCD),再根据最大公约数求出最小公倍数(LCM)。 最大公约数定义:能同时整除A和B的最大正整数; 最小公倍数定义:能同时被A和B整除的最小正整数,计算公式为 LCM=A/GCD×BLCM = A / GCD × B(先除后乘,避免整数溢出)。 请编写程序实现该计算,若输入的数为0则输出Invalid Input

输入格式

一行,两个正整数 A 和 B(输入可能包含0)。

输出格式

若输入包含0,输出Invalid Input; 否则,一行输出两个由空格分隔的整数,依次表示A和B的最大公约数(GCD)最小公倍数(LCM)

12 18
6 36
25 40
5 200
7 13
1 91
0 28
Invalid Input

提示

  1. 0A,B100000 ≤ A,B ≤ 10000,保证输入为整数;
  2. 枚举法求GCD:从A、B中较小的数开始,往1依次枚举,第一个能同时整除A和B的数即为最大公约数;
  3. 若A和B互质(如7和13),最大公约数为1,最小公倍数为两数乘积;
  4. 变量需用int类型存储,避免浮点运算误差。