我正在用Java开发一个素数分解程序,它显示一个数字的所有素数,即使它们重复。我有这个:
public static void factors(int a)
{
int c=1;
for(int i = 1; i <= a;i++)
{
if(a%i == 0)
{
for(int k = 2; k < i; k++)
{
if(i%k == 0)
{
c = 1;
break;
}
else
{
c = 0;
}
}
if(c == 0 || i == 2)
{
System.out.print(i+ ", ");
}
}
}
}
我需要考虑重复因素(如 2、2、2 中的 8)。如果不完全重组,我怎么能做到这一点?