九度OJ 1207:质因数的个数 (质数)
2024-08-26 01:28:01
时间限制: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的质因数。
思路:
常规思路是先求出不大于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
****************************************************************/
最新文章
- SFTP 命令列表以备查询
- iOS AVCaptureVideoDataOutputSampleBufferDelegate 录制视频
- Lua5.1基本函数库介绍
- 【Java学习笔记】函数使用
- scp linux远程拷贝和本地拷贝命令
- Java 8 Lambda表达式10个示例【存】
- Java学习日记-3 Character和字符串
- c++(smart pointer)
- 转:iOS开发之多种Cell高度自适应实现方案的UI流畅度分析
- Python_字符串简单加密解密
- mysql 多实例部署
- go语言学习 一
- mysql查询表结果排序
- 线程有gil锁
- cetus系列~ 读写分离具体分析
- js--script和link中的 integrity 属性
- ssm框架之配置日志系统打印到控制台与指定文件
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger
- js随笔记录
- js备忘录5