第1个回答 2009-03-26
public class BigCal {
public static void main(String[] args) {
double sum = 0.0d;
for(int i=1;i<=20;i++){
sum += Math.pow(i, i);
}
System.out.println(sum);
}
}
//使用double的基本类型变量可以把数值结果表示成指数形式
//double类型最大正有限值为 (2-2^(-52))·2^1023
//所以20^20还远远不会越界
//最后得到的结果是:1.0687621220005955E26
//也就是:1.0687621220005955*10^26
第2个回答 2009-03-20
//随便你求几个啊 呵呵
import java.math.*;
public class BigIntNum {
public static void main(String[] args) {
BigIntNum bm = new BigIntNum();
System.out.println(bm.sum(20));
}
public BigInteger sum(int len){
BigInteger bi = new BigInteger("0");
for(int i = 1; i <= len; i ++) {
bi = bi.add(pow(i));
}
return bi;
}
public BigInteger pow(int i) {
BigInteger bi = new BigInteger(i + "");
return bi.pow(i);
}
}本回答被网友采纳
第4个回答 2009-03-20
答案是 0
嘻嘻~~~楼上的几位大哥编程都很不错噢,不过却忽略了一个小小的问题,因为两个相同的数字按位异或的结果就是0,所以这个题目的答案就是0,不用弄循环啦,哈哈~~~让我捡便宜咯~~~呵呵
第5个回答 2009-03-22
import java.math.BigDecimal;
public class BigDecimalTest {
public static BigDecimal function(int index) {
BigDecimal num = new BigDecimal(index);
return num.pow(index);
}
public static void main(String[] args) {
BigDecimal result = new BigDecimal(0);
for (int i = 1; i <= 20; i++) {
result = result.add(function(i));
}
System.out.println("1的1次方+2的2次方+3的3次方+4的4次方....+20的20次方的结果为:"+result.toPlainString());
}
}
楼上的朋友们好像都把题目看错了啊,不是2*2,而是2的2次方,这个分数我就收下啦!!!请放心吧,答案是正确的,我已经测试过了