九度OJ 1207:质因数的个数 (质数)
来源:互联网 发布:数据挖掘技术的历史 编辑:程序博客网 时间:2024/05/23 18:28
- 题目描述:
- 求正整数N(N>1)的质因数的个数。相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。
- 输入:
可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。
- 输出:
对于每组数据,输出N的质因数的个数。
- 样例输入:
120
- 样例输出:
5
- 提示:
注意:1不是N的质因数;若N为质数,N是N的质因数。
- 来源:
- 2007年清华大学计算机研究生机试真题
思路:
常规思路是先求出不大于sqrt(n)的质数,然后判断是否是n的因子。
我的代码在无意中运用了素数筛法,更加简洁,推荐!
代码:
#include <stdio.h>#include <string.h>#include <math.h> int main(void){ int n, i, j; int tmp, count; while (scanf("%d", &n) != EOF) { count = 0; i = 2; while (n>1) { for (; i<=sqrt(n); i++) { if (i>2 && i%2 == 0) continue; if (n % i == 0) { count ++; n /= i; break; } } if (i > sqrt(n)) { count ++; break; } } printf("%d\n", count); } return 0;}/************************************************************** Problem: 1207 User: liangrx06 Language: C Result: Accepted Time:10 ms Memory:928 kb****************************************************************/
0 0
- 九度OJ 1207:质因数的个数 (质数)
- 九度OJ 1207: 质因数的个数
- 九度OJ 1207 质因数的个数
- 九度OJ 1207:质因数的个数
- 九度OJ-1207:质因数的个数
- 九度OJ-1207--质因数的个数
- 九度OJ 1207 质因数的个数 JAVA
- 九度oj 题目1207:质因数的个数
- 九度OJ 题目1207:质因数的个数
- 九度OJ题目1207:质因数的个数
- 【九度OJ】题目1207:质因数的个数 解题报告
- 九度OJ题目1207:质因数的个数
- 题目1207:质因数的个数 九度OJ
- 九度OJ 1207 质因数的个数 (筛素数,勉强AC)
- 九度题目1207:质因数的个数
- 九度题目1207质因数的个数
- 九度1207:质因数的个数
- 九度 题目1207:质因数的个数
- 谷歌应用市场5
- poj 2023 Choose Your Own Adventure 树形结构的搜索
- Couchbase学习笔记(2)——安装配置
- ncdu安装与使用
- iOS-极光推送开发小结
- 九度OJ 1207:质因数的个数 (质数)
- IOCCC.1984.anonymous.c.解析
- Android OOM解决思路
- shiro、SpringMVC权限控制
- iOS-极光推送开发小结
- 历时一个多月的性能测试项目总结
- gdb qemu调试linux kernel并修改远程连接的bug
- 第一篇
- HDU 5506(GT and set)