因式分解:将一个数分成几个质数之积

package fenjie;

import pro914.Main;

/**
 * Created by Administrator on 2015/9/17 0017.
 */
public class Fenjie
{
    public static void main(String[] args)
    {
        int number = 3;
        fenjieNum(number);
    }

    private static void fenjieNum(int number)
    {
        if (!isSushu(number))
        {
            System.out.print(1 + "\t" + number);
        }

        for (int i = 2; i < number; i++)
        {
            if (number % i == 0)
            {
                System.out.print(i + "\t");
                int num = number / i;
                if (isSushu(num))
                {
                    System.out.print(num);
                }
                else
                    fenjieNum(num);
            }
        }

    }

    private static boolean isSushu(int num)
    {
        for (int i = 2; i < Math.sqrt(num); i++)
        {
            if (num % i == 0)
                return true;
        }
        return false;
    }
}

你可能感兴趣的:(因式分解)