首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
质因数的个数
[编程题]质因数的个数
热度指数:50506
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 64M,其他语言128M
算法知识视频讲解
求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。
输入描述:
可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。
输出描述:
对于每组数据,输出N的质因数的个数。
示例1
输入
120
输出
5
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(61)
邀请回答
收藏(354)
分享
提交结果有问题?
168个回答
65篇题解
开通博客
philos
发表于 2021-02-02 11:38:41
思路 我们求质因子的时候其实没有必要去先判断一个因子是否为质数,为什么呢? 比如说一个因子为 11,是质数,那么无论前面怎么进行除法运算,一定有这个因子,所以质数因子不可能漏掉 而对于因子 4,它肯定可以转换成质因子之积:2×2,那么在前面已经被除过了,所以已经没有非质数因子了 所以我们只需要从 2
展开全文
瑞穗zz
发表于 2023-02-21 05:57:20
//对于一个数num,num%i==0 则i为其因子 //将i从2开始自增判断即可,i不是因子则自增,i是因子则num/=i,并且i=2 重新开始判断 //不需考虑i是否为质数,因为若i为合数,则当i为这个合数的因子时已经被判断为num的因子了 //这个循环的出口时num==1 #include
展开全文
健康快乐最重要
发表于 2020-03-19 10:49:34
1.先用素数筛子求出sqrt(1e9)+1内的所有的素数(取根号是因为一个数n所有质因数中只有一个大于sqrt平方的)。2.依次对给定的数n除以他的质因数,如果除到了1,说明除尽了,如果没除到1,就将素数筛子里的数向后移一位判断。3.如果最后都判断完了,n仍!=1,说明存在一个大于他的根号的因数,那
展开全文
鱼儿恋上水
发表于 2020-03-31 21:12:36
n至多只存在一个大于sqrt(n)的素因数1.利用素数筛法(欧拉筛法)筛得0-100000区间内所有素数2.输入n3.依次测试步骤1中得到的素数能否整除n,若能则表明该素数为它的一个素因数4.不断将n除以该素因数,直到不能被整除为止5.若在完成某个素数的幂指数统计后,n变为1,则表明n的所有素因数全
展开全文
SteadyGG
发表于 2020-09-20 21:34:40
当枚举到i时意味着所有2 -(i-1)的质因子都除干净了 同时 n 不包括任何2 - (i-1)的质因子了 所以i一定是质数 int div(int x){ int s = 0; for(int i = 2; i <= n; i++){ if(
展开全文
燃烧的橘子
发表于 2023-03-06 22:23:21
#include <iostream> using namespace std; int main() { int n; int ret; while(cin>>n) { ret=0; for(int i=2;
展开全文
子豪不自豪
发表于 2023-12-26 19:53:49
#include <math.h> #include <stdio.h> int judge_zhishu(int num){ for (int i=2;i*i<=num;i++){ if (num % i == 0){
展开全文
牛客568792594号
发表于 2024-02-16 15:35:26
#include <bits/stdc++.h> using namespace std; int divide(int x){ int count = 0; for (int i=2; i<=x/i; i++){ if (x%i == 0){ int s = 0
展开全文
吃葡萄不爱吐葡萄皮
发表于 2024-03-21 12:03:41
#include <stdio.h> #include <math.h> int IsPrime(int n); int main(){ int x,count; while(scanf("%d",&x)!=EOF){
展开全文
牛客440904392号
发表于 2024-10-04 21:09:54
#include <stdio.h> int main() { int n; while (scanf("%d", &n) != EOF) { int count = 0; for (int i = 2; i *
展开全文
问题信息
基础数学
难度:
168条回答
354收藏
31182浏览
热门推荐
通过挑战的用户
查看代码
yali666
2023-03-11 17:19:41
张泽耀1
2023-03-10 21:00:41
牛客70567...
2023-03-07 15:16:15
xiaojunjun
2023-03-06 13:33:02
刷了100道题...
2023-03-05 17:12:33
相关试题
车站建造问题
基础数学
评论
(40)
牛牛的超市
动态规划
基础数学
评论
(5)
线段树编号问题
基础数学
评论
(2)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
质因数的个数
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
120
5