#T557853. 通过求最小公约数求最大公约数和最小公倍数

通过求最小公约数求最大公约数和最小公倍数

题目描述

在数学上,求两个正整数a和b的最大公约数和最小公倍数,可以通过求最小公约数来实现。如下图所示,设a为24,b为36,先求得它们的最小公约数为2,将a和b除以2,得到12和18,仍记为a和b。再求它们的最小公约数为2,将a和b除以2,得到6和9,仍记为a和b。再求它们的最小公约数为3,将a和b除以2,得到2和3,仍记为a和b。此时,a和b的公约数只有1,算法结束。原始的a和b的最大公约数为2×2×3=12,最小公倍数为2×2×3×2×3=72。

本题要求按上述方法求a和b的最大公约数和最小公倍数。

输入格式

输入数据占一行,为两个正整数a和b。

输出格式

输出占一行,为a和b的最大公约数和最小公倍数,用空格隔开。

输入输出样例 #1

输入 #1

24 36

输出 #1

12 72

说明/提示

本题出处

本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.