随便给一个整数,怎么找出几个素数相乘等于这个整数例如:9=3*3

解决方案 »

  1.   


    public static void main(String[] args)
        {
            int total = 1;
            for (int i = 2; i < 100000; i++)
            {
                int j;
                for (j = 2; j < (int) (Math.sqrt(i) + 1); j++)
                {
                    if (i % j == 0)
                    {
                        break;
                    }
                }
                if (j > (int) Math.sqrt(i))
                {
                    total = total * j;
                    if (total == i)
                    {
                        System.out.print(i + " ");
                    }
                }
            }
        }好象只有2可以这样吧。没发现其它的了