U498137 最小公倍数
题目描述
在编程竞赛班上,**钟老师** 出了一道关于最小公倍数的题目,但他给出了一个非常大的数字,难倒了不少学生。**萌萌老师** 看到后,为了帮助大家理解,决定给出一些提示:可以利用高精度算法和欧几里得算法来求解。
已知一个高精度整数 $ A $(长度不超过 $ 10^5 $)和一个普通整数 $ B $($ 1 \leq B \leq 10^{18} $),请你计算它们的最小公倍数 $ \text{lcm}( A , B ) $。
输入格式
输入包含两行:
- 第一行是一个由数字字符组成的字符串,表示高精度整数 $ A $。
- 第二行是一个整数 $ B $,表示低精度整数。
输出格式
输出一行,包含一个整数,表示 $ A $ 和 $ B $ 的最小公倍数。
说明/提示
### 样例 1 解析
在这道题中,**钟老师** 给出的高精度整数 $ A = 123456789123456789123456789 $,而 **萌萌老师** 提示的低精度整数 $ B = 123456789 $。
首先计算 $ \gcd( A , B ) = 123456789 $,然后计算最小公倍数:
$$
\text{lcm}( A , B ) = \frac{ A \times B }{ \gcd( A , B ) } = \frac{ 123456789123456789123456789 \times 123456789 }{ 123456789 } = 123456789123456789123456789
$$
## 数据范围及约定
| 占比 | 数据范围 |
| ------- | ------------------------------------------------------------- |
| $ 30\% $ | $ 1 \leq A \leq 10^{5} $,$ 1 \leq B \leq 10^5 $ |
| $ 60\% $ | $ 1 \leq A \leq 10^{10^5} $,$ 1 \leq B \leq 10^{10^5} $ |
| $ 100\% $ | $ 1 \leq A \leq 10^{10^5} $,$ 1 \leq B \leq 10^{18} $ |