我正在研究Java中的素數因子分解程序,該程序顯示數字的所有素數因子,即使它們重複。我有這個: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+ ", ");
}
}
}
}
我需要考慮重複因素(如8,2,2,2)。我怎麼能沒有完全重組呢?
繼續分解因素,直到你不能再分裂。這些因素是否重複都沒有關係。 – 2012-03-24 19:21:20
你確定你的問題需求被正確理解。通常,你要麼列出所有因素(所以12將是1,2,3,4,6,12)或者你分解因子(所以12將是2,2,3)。你似乎試圖做的事情是奇怪的。 – 2012-03-24 19:24:58
這是功課嗎?如果是,請標記問題。另外,你是什麼意思*「沒有完全重組」*? – sch 2012-03-24 19:32:32