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} $ |