⑴ 用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循环数组 特别要注意的是,如果最高位有进位的时候,这个是比较容易出错的地方 思路在上面,如果实现不了请留言