我有一个 Java 程序“因素”,它接受一个命令行参数并打印它的主要因素。例如,如果您使用参数 3757208 运行程序,它将打印 2 2 2 7 13 13 397。我需要修改代码,以便每个素数只打印一次。所以对于上面的例子,我想要的结果是 2 7 13 397。谢谢!这是代码:
public class Factors
{
public static void main(String[] args)
{ // Print the prime factors of N.
long N = Long.parseLong(args[0]);
long n = N;
for (long i = 2; i*i <= n; i++)
{ // Test whether i is a factor.
while (n % i == 0)
{ // Cast out and print i factors
n = n / i;
System.out.print(i + " ");
}
}
// if biggest factor occurs only once, n > 1
if (n > 1) System.out.println(n);
else System.out.println();
}
}