⑴ 用java語言求100的階乘
100的階乘要用bigdecimal才可以
import java.math.BigDecimal;
public class Information {
public static void main(String[] args) {
BigDecimal bg = new BigDecimal(1L);
int i = 1;
while(i <= 100){
bg = bg.multiply(new BigDecimal(i++));
}
System.out.println(bg.toString());
}
}
⑵ java 1到100連乘
使用java.math.BigInteger類。這個類是用來處理大整數的,如果你需要大的浮點數,應該使用BigDecimal類。
下面是求n的階乘的例子:
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
jieCheng(100);
}
public static void jieCheng(int n) {
BigInteger sum = BigInteger.valueOf(1);
for(int i = 1; i <= n; i++) {
sum = sum.multiply(BigInteger.valueOf(i));
}
System.out.println(sum);
}
}
你需要看看幫助文檔,來了解BigInteger類。multiply是乘法運算,當然該類還有加、減、除等運算方法。如果還有不明白的地方請留言。
⑶ java中最大的int型數據佔多少位兩個最大的int型數據相乘佔多少位
一個int型是占的32位,連個相乘就是64位,如果你要表示64位的話,就直接用long型就可以了
⑷ java中如何對較大的數字進行計算
不管是不是用JAVA,其實方法都一樣,利用數組比如說長度為一千的數字,可以這個 int[] number = new int[1000];相加的思路是,首先兩個數組的長度必須是一致,位數不同的話,前面補0,內存有點浪費,但是計算起來比較方便。然後讓它們從0到最高位,每位進行相加並保存相應的位置上。最後一步是從0開始判斷有沒有大於10的數字,如果有就向前面進位(前一個加1,當前位減10),這樣就可以。如果是相減,其實思路還是一樣的,每位先相減,再判斷是否有小於0的,如果有則向前面一位借1(前一位減1,當前位加10)如果是相乘,和上面一樣,不過要注意的是進位的時候,不止進一位,比如5*6,就要向前進3位了(前一位加3,當前位減30)除就比較麻煩點,要涉及到精確度問題,得看實際需要 輸出就更容易了,直接for循環數組 特別要注意的是,如果最高位有進位的時候,這個是比較容易出錯的地方 思路在上面,如果實現不了請留言