美文网首页
分解质因数

分解质因数

作者: Coder_Newson | 来源:发表于2019-10-30 20:09 被阅读0次

题目内容:

每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。

现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。

输入格式:

一个整数,范围在[2,100000]内。

输出格式:

n=axbxcxd

n=n

所有的符号之间都没有空格,x是小写字母x。

输入样例:

18

输出样例:

18=2x3x3

素数的算法可参考我另一篇文章,下面给出算法以及解释:

    // 分解质因数
    public static void primeFactor(int n)
    {
        if (primeNumber(n))
        {
            System.out.print(n + "=" + n);
        }
        else
        {
            System.out.print(n + "=");
            // 如果是合数(非素数)
            while (!primeNumber(n))
            {
                // 每次从2开始,执行加1,i小于n的平方根+1,否则死循环,debug调式可看出
                for (int i = 2; i < Math.sqrt(n) + 1; i++)
                {
                    // 如果符合分解质因数的条件(合数的因数为质数)
                    if (primeNumber(i) && n % i == 0)
                    {
                        System.out.print(i + "x");
                        n = n / i;
                        break;
                    }
                }
            }
            System.out.print(n);
        }
    }

相关文章

  • 分解质因数和应用

    分解质因数是什么分解质因数就是将一个合数分解成多个质数相乘的形式,这就是分解质因数。我举个最简单的例子,比如说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/hwnqvctx.html