时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:5939

解决:1926

题目描述:
求正整数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
****************************************************************/

最新文章

  1. SFTP 命令列表以备查询
  2. iOS AVCaptureVideoDataOutputSampleBufferDelegate 录制视频
  3. Lua5.1基本函数库介绍
  4. 【Java学习笔记】函数使用
  5. scp linux远程拷贝和本地拷贝命令
  6. Java 8 Lambda表达式10个示例【存】
  7. Java学习日记-3 Character和字符串
  8. c++(smart pointer)
  9. 转:iOS开发之多种Cell高度自适应实现方案的UI流畅度分析
  10. Python_字符串简单加密解密
  11. mysql 多实例部署
  12. go语言学习 一
  13. mysql查询表结果排序
  14. 线程有gil锁
  15. cetus系列~ 读写分离具体分析
  16. js--script和link中的 integrity 属性
  17. ssm框架之配置日志系统打印到控制台与指定文件
  18. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger
  19. js随笔记录
  20. js备忘录5

热门文章

  1. 新人补钙系列教程之:拒绝CPU高占用
  2. 转: 理解UDDI (from IBM Dev)
  3. 质量平台建设之Mock平台
  4. 系统封装 如何打造原生WINPE
  5. js控制div内的滚动条的位置
  6. showModalDialog后如何刷新父页面
  7. GitHub for window 使用教程
  8. Swagger跨域访问
  9. storm RollingTopWords 实时top-N计算任务窗口设计
  10. emacs的常用配置备份