美文网首页
质数因数的个数

质数因数的个数

作者: hdchieh | 来源:发表于2019-03-19 12:56 被阅读0次

求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。


解题思路

  1. 质因数的遍历范围是2到sqrt(n),这样时间复杂度大大降低;
  2. 因为是从小到大的顺序找的所以肯定都是质因数(无需再用函数判断),否则在之前就已经在while循环里被除掉了。小于它的所有数已经被除掉了,所以如果可以整除就一定是质数
  3. 当每找到一个质因数以后,立刻整除掉它,紧接着增加质因数个数。
  4. 如果遍历到了sqrt(n)时还是大于1,则肯定还剩最后一个质因数。比如计算120的质因数个数时,最后计算到n=5,2<sqrt(5)<3,而之前i=3(因为120=22235),所以i循环已结束,最后剩下的那个质因数就是5。

原文


#include<stdio.h>
int main(){
    int n;
    int count=0;
    scanf("%d",&n);
    for(int i=2;i<=sqrt(n);i++){
        while(n%i==0){
            count++;
            n/=i;
        }
    }
    if(n!=1) count++;//此时n必为大于sqrt(n)的质数
    printf("%d\n",count);

相关文章

  • 三升四数学(4)

    四,质数,合数 1.复习:因数的概念,找60的因数 2.正整数按因数的个数分类: ①一个因数 ②两个因数:质数(素...

  • 质数因数的个数

    求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。 解...

  • 六年级期末考试学生错题集及简单提示

    ”1题. 1,3,7是21的( )。 A.因数 B.公因数 C.质数 提示:因数、公因数、质数的概念你不记得...

  • 小学数学基础知识

    质数与合数 合数指的是:一个数除了1和它本身以外还有别的因数(第三个因数),这个数叫做合数。 "0"“1”既不是质...

  • 因数个数,所有因数的和

    今天讲一下求因数个数,求所有因数和的公式。若正整数N分解质因数的结果是 其中P1、P2、P3…Pn是不同的质数,则...

  • 观察物体及因数与倍数易错题

    1. 36的因数有( ) 2.在比10小的自然数中,相邻的两个数都是质数的是...

  • 关于质数的判定方法

    质数的定义:如果一个数只能被1和它本身整除,那么他就是质数 对于找质因数的方法 方式1 对于一个合数来说;它必然能...

  • 趣味数学:三位合数A有质数个因数

    2019年迎春杯数学竞赛5年级C卷题11 有一个三位合数 , 有质数个因数。老师把组成 的三个数字以及 的因数...

  • 密码学--RSA

    概念 1、互质关系:两个数除了1,没有其他公因数,则两个数互质数 2、欧拉函数: 任意给定正整数n,请问在小于等于...

  • 分解质因数

    问题描述 任何一个合数都可以写成几个质数相乘的形式,这几个质数叫做这个合数的质因数。编程实现分解质因数。 测试样例...

网友评论

      本文标题:质数因数的个数

      本文链接:https://www.haomeiwen.com/subject/obksmqtx.html