美文网首页
质因数分解

质因数分解

作者: atok | 来源:发表于2018-12-31 11:20 被阅读0次

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

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
    int N;
    while(cin >> N) {
        int res = 0;
        for(int i = 2; i <= sqrt(N); i++) {
            while(N % i == 0) {
                N /= i;
                res++;
            }
            if(N == 1) break;
        }
        cout << res + 1 << endl;
    }
    return 0;
}

x(x≥2)能够被小于根号x的质数分解,所以把x用质数2多次分解后能够保证下次可能整除x的数只能为3。这样就无需判断每个整除的数是否为质数。

相关文章

  • 分解质因数和应用

    分解质因数是什么分解质因数就是将一个合数分解成多个质数相乘的形式,这就是分解质因数。我举个最简单的例子,比如说4它...

  • 辅导笔记(4):质因数分解

    // 把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。 //输入样例:36 //输出:3...

  • 阶乘分解

    题目链接:阶乘分解分解阶乘的质因数。将1~N每个数,分别分解质因数合并的时间复杂度是。对于N!来说假设p

  • 分解质因数

    def analysisNum(num): analysisNum(100)

  • 分解质因数

    题目将一个正整数分解质因数。例如:输入90,打印出90=233*5. 程序分析 对n进行分解质因数,应先找到一个最...

  • 分解质因数

    对一个整数进行分解质因数。方法一:暴力: 方法二:Pollard Rho算法时间复杂度为n^0.25 原文请点击这...

  • 分解质因数

  • 分解质因数

    //输入两个数字a,b,则输出从a到b之间的所有整数的分解出质因数乘积的式子 void calArray(int ...

  • 分解质因数

    题目内容:每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如...

  • 分解质因数

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

网友评论

      本文标题:质因数分解

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