找到一个数的质因子
2016-04-13 17:14
176 查看
如果像博主一样第一次写出判断一个数是不是质数的函数,那这个解法就比较out了
so。。。真正的解法是:
可以这样写的原因大概也是一目了然,如果后面的 i 的因子中包含了前面的 i 那么,前面的 i 在被除的时候,已经把后面的 i 给除了, 所以,能够让tmp % i == 0 成立的 i 一定都是质素,over。
(版权为我家男神***所有,可以转载)
so。。。真正的解法是:
int main() { int num ; cin >> num; int tmp = num ; for(int i = 2 ; i < num ; i++) { while( tmp % i == 0) { cout<< i << " " ; tmp /= i; } } }
可以这样写的原因大概也是一目了然,如果后面的 i 的因子中包含了前面的 i 那么,前面的 i 在被除的时候,已经把后面的 i 给除了, 所以,能够让tmp % i == 0 成立的 i 一定都是质素,over。
(版权为我家男神***所有,可以转载)
相关文章推荐
- 程序猿之禅
- Java提取两个文件夹中的有差异的文件并生成相应的shell脚本
- android xml之Drawable 篇 --------shape和selector和layer-list的
- 使用Git提交项目到gitHub上
- mysql in
- java CyclicBarrier
- HTML 元素和有效的 DTD
- AngularJS ng-cloak 指令
- Linux基础实践
- 剑指offer-面试题42:翻转单词顺序VS左旋转字符串
- Java获取两个字符串中最大相同子串
- CF 122A. Lucky Division
- Maven搭建Spring+SpringMVC+Mybatis详解,成功搭建me
- hadoop2.4以后版本的HA高可用模式配置详解
- iOS 初级错误和警告汇总
- Android开发笔记(八十五)手机数据库Realm
- px?dp?换算公式/代码?
- Thread2 关键字
- 第6周项目4 静态成员函数
- ASP.NET网站的性能优化