九度OJ 1207:质因数的个数 (质数)
时间限制: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
****************************************************************/
九度OJ 1207:质因数的个数 (质数)的更多相关文章
- 九度OJ 1207 质因数的个数
题目地址:http://ac.jobdu.com/problem.php?pid=1207 题目描述: 求正整数N(N>1)的质因数的个数. 相同的质因数需要重复计算.如120=2*2*2*3* ...
- 九度OJ 1087 约数的个数
题目地址:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...
- 【九度OJ】题目1207:质因数的个数 解题报告
[九度OJ]题目1207:质因数的个数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1207 题目描述: 求正整数N(N& ...
- 九度oj 题目1087:约数的个数
题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...
- 【九度OJ】题目1087:约数的个数 解题报告
[九度OJ]题目1087:约数的个数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次 ...
- 九度OJ 1371 最小的K个数 -- 堆排序
题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...
- 【九度OJ】题目1169:比较奇偶数个数 解题报告
[九度OJ]题目1169:比较奇偶数个数 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1169 题目描述: 第一行输入一个数,为n, ...
- 九度OJ,题目1089:数字反转
题目描述: 12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转. 输入: 第一行一个正整数表示测试数据的个数n. ...
- 九度OJ 1500 出操队形 -- 动态规划(最长上升子序列)
题目地址:http://ac.jobdu.com/problem.php?pid=1500 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往 ...
随机推荐
- pc_lint的用法转
PC-Lint是一款C/C++软件代码静态分析工具,不仅可以检查一般的语法错误,还可以检查潜在的错误,比如数组访问越界.内存泄漏.使用未初始化变量.使用空指针等.在单元测试前使用PC-Lint来检查代 ...
- linux /etc/hosts 配置问题
在java code中获取本机IP的程序如下: import java.net.InetAddress; public class Test { public static void main(Str ...
- 2017.7.1 ftp文件服务器安装与配置(已验证可使用)
下载地址:http://learning.happymmall.com/ 1.点击exe文件 2.启动ftpserver 点击exe后,就出现如下画面:输入账户密码和勾选权限等. 并配置好对应的文件夹 ...
- NativeCode中通过JNI反射调用Java层的代码,以获取IMEI为例
简单说,就是在NativeCode中做一些正常情况下可以在Java code中做的事儿,比如获取IMEI. 这种做法会使得静态分析Java层代码的方法失效. JNIEXPORT jstring JNI ...
- AFN检測网络情况
问: I'm a bit lost on AFNetorking's Reachability and haven't found a lot of good information out ther ...
- 排查 “Detected Tx Unit Hang”问题
实现功能: 使用自己已经分配的内存让skb->data指向,而不是使用alloc_malloc(). 部分代码如下: /* * build a new sk_buff */ //struct s ...
- ThinkPHP的sql_mode的默认设置,导致无效信息被插入
在thinkphp中的DbMySql.class.php和DbMySqli.class.php中每次连接mysql后,都会自动设置sql_mode=''; mysql_query("SET ...
- mobx 小结
1.@observable 是一种让数据的变化可以被观察的方法 //@observable data 注册一个数据,这个数据将会成为一个可mobx监测的数据 2.decorator 修饰器只能修饰 类 ...
- java jdk 环境变量设置
我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA ...
- python 三个双引号
有的内容被上面三个双引号和下面三个双引号包围了,这些内容不执行.即,下面aaa的部分不执行. """ aaaa; """