#166. 所有公因数
所有公因数
【题目描述】
小灰灰最近在学习最大公因数(GCD),他了解到如下信息:
- 能够整除 的正整数都被称为 的因数,比如当 时 都可以整除 ,所以它们都是 的因数;
- 两个数 和 的公因数指的是既为 的因数同时又为 因数的数,比如当 时 既能整除 又可以整除 ,所以它们都是 和 的公因数;
- 和 的最大公因数指的是它们所有的公因数之中最大的那个公因数,比如当 时,它们的最大公因数就是 。
小灰灰宣称他已经学会了怎么求解两个正整数的最大公因数,小蓝打算考一考他。
具体的,小蓝会给小灰灰两个正整数 和 ,小灰灰需要从小到大的输出这两个数的所有公因数。
作为他们俩的好朋友,请你编写一个程序,读入 和 然后从小到大输出这两个数的所有公因数,中间用空格分隔开。
【输入描述】
输入一行两个空格分隔的正整数 和
保证:
【输出描述】
输出一行若干个空格分隔的正整数表示答案。
【样例 1】(满足测试点 1 ~ 5 的特殊性质)
【样例 1 输入】
12 18
【样例 1 输出】
1 2 3 6
【样例 1 解释】
12 的因数:1, 2, 3, 4, 6, 12
18 的因数:1, 2, 3, 6, 9, 18
12 和 18 的公因数(从小到大):1, 2, 3, 6
【样例 2】(满足测试点 16 ~ 20 的特殊性质)
【样例 2 输入】
7 13
【样例 2 输出】
1
【样例 3】(满足测试点 6 ~ 15 的特殊性质)
【样例 3 输入】
36 1000000008
【样例 3 输出】
1 2 3 4 6 9 12 18 36
【样例 4】(满足测试点 21 ~ 30 的特殊性质)
【样例 4 输入】
999999999984 999999999888
【样例 4 输出】
1 2 3 4 6 8 12 16 24 48
【数据规模与约定】
| 测试点编号 | 分数 | 特殊性质 |
|---|---|---|
1 ~ 5 |
30. | 且 |
6 ~ 15 |
30 | 或 |
16 ~ 20 |
15 | 或 是质数(只能被 1 和其本身整除的数称为质数) |
21 ~ 30 |
25 | 无 |