int f=1; //this is to store factorial value
double s=1;
for(int i=1;i<=10;i++){
f=f*i; //Even though i is int,changing f from int value to double value brigs a difference
s=s+(double)(1/f);
}
System.out.println(s);
我必須找到一個數的階乘。我發現在上面的代碼中,如果我將f從int更改爲double
,我的答案是十進制值,但如果我使用int
,我的答案不會達到小數。 像在int -2.0的情況下雙-2.718281那樣f
只是乘以int
的值,小數值從哪裏來?如果我將int從int更改爲double,下面代碼的輸出如何更改?
不確定的問題是。你輸出的不是f。並且你正在輸出循環。請解釋你期望用s看到什麼。 –