分解质因数

@spiritree  August 4, 2016

题目内容:
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。

  • 个人思考要点

1.判断素数
2.分解质因数

  • 解决方法

1.判断素数
2.分解质因数

public static void decomposition(int n)//分解质因数
{
    int flag = 0;
    if (IsPrime(n))
    {
        System.out.print(n+"="+n);
    }
    else
    {
        for (int i=2;i<=n;i++)
        {
            if(n%i == 0)
            {
                flag++;
                if(flag==1)
                    System.out.print(n+"="+i);
                else
                    System.out.print("×"+i);
                n = n/i;
                i--;    //考虑质因数连续为2的时候
             }
         }
     }
}

添加新评论