根据这篇 文章,我们可以通过以下代码得到一个数的所有除数。
for (int i = 1; i <= num; ++i){
if (num % i == 0)
cout << i << endl;
}
例如数字 24
的除数是 1 2 3 4 6 8 12 24
。
在搜索了一些相关帖子后,我没有找到任何好的解决方案。有什么有效的方法可以做到这一点吗?
我的解决方案:
- 通过这个 解 找到给定数的所有质因数。
- 获取这些主要因素的所有可能组合。
不过,好像也不是什么好东西。
原文由 zangw 发布,翻译遵循 CC BY-SA 4.0 许可协议
因素是成对的。
1
and24
,2
and12
,3
and8
,4
和6
。您的算法的改进可能是迭代到
num
而不是一直到num
的平方根,然后使用num / i
计算配对因子