大众点评笔试算法之质因数分解
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
代码为:
博客上看到另一种解法,感觉思路很好,其思路为:
对n进行分解质因数,应先找到一个最小得质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数得过程已经结束,打印出即可.
(2)如果n>=k,但n能被k整除,则应打印出k的值,并用n除以k得商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步实现代码为:
- 1楼yaoqiang2011前天 21:07
- 多谢分享!n这题感觉上如果追求速度的话,可以先列一个质数表数组,然后从小到大试,能少做很多尝试。