62,612
社区成员
发帖
与我相关
我的任务
分享
import java.math.BigInteger;
public class Sample{
public static void main(String []args){
f1();
f2();
f3();
f4();
}
static void f1(){
BigInteger sum=BigInteger.valueOf(0);
BigInteger factor=null;
for(int i=1;i<=15;++i){
factor=BigInteger.valueOf(1);
for(int j=0;j<i;++j){
factor=factor.multiply(BigInteger.valueOf(i));
}
sum=sum.add(factor);
}
System.out.println(sum);
}
static void f2(){
long sum=0;
long factor=0;
for(int i=1;i<=15;++i){
factor=1;
for(int j=0;j<i;++j){
factor*=i;
}
sum+=factor;
}
System.out.println(sum);
}
static void f3(){
long sum=0;
for(int i=1;i<=15;++i){
sum+=Math.pow(i,i);
}
System.out.println(sum);
}
static void f4(){
double sum=0;
for(int i=1;i<=15;++i){
sum+=Math.pow(i,i);
}
System.out.println((long)sum);
}
}
一和二结果一样,三和四结果一样,但是两者为什么不一样呢449317984130199828
449317984130199828
449317984130199872
449317984130199872