我被分配編寫一個基於下列代碼的程序,它可以顯示50階乘。由於原始類型不適合如此龐大的數字,因此我被要求使用一個整數數組並且使用單個插槽作爲大數的「部分」。這是我一直在考慮編寫代碼周圍...顯示50!在Java中
class Fifty
{
public static void main(String[] args)
{
System.out.println("0! = " + fact(0));
System.out.println("1! = " + fact(1));
System.out.println("5! = " + fact(5));
System.out.println("50!= " + fact(50));
}
public static int fact(int n)
{
int product = 1;
for (int i = 2; i <= n; i++)
{
product = product * i;
}
return product;
}
}
這裏是輔導提示我一直在考慮
五階乘
你用一個使用數組產品在您的程序中。
Int類型不能適合50!的值,所以我們在每個 的值中使用一個數組。
如果一個時隙大於9 ...
0 7 2 0上攜帶一個,保持兩個組在哪裏。
產品[I]/10會給你什麼隨身攜帶的產品[I]%10會給 你怎麼保持 乘這個由下一因素值和重複,直到完成,你有一個明確的答案顯示
現在,我知道如何使用此方法,我不知道如何實際創建具有所需值的數組。我如何得到50的答案! 「分解」成數組的片斷?
您可以使用'new int [size]'創建一個數組。這給你一個全零的數組。你應該從代表'1'的數組開始,然後有一個實現乘法的方法。你知道如何獲得一個全零的數組,並使它代表上述方法中的數字'1'? – RealSkeptic
我可以,但程序本身應該在哪裏完成? –
在「事實」方法中。在任何你看到'產品'的地方,都應該用數組替換它。如果你看到'產品'上的操作員,他們需要用一種方法來替換。你看到'int'返回的地方應該用'int []'代替,並且你看到一個打印的整數,你應該有一個方法可以正確地打印數組。 – RealSkeptic