eeg 发表于 2020-6-2 21:13:56

java小白求助

public static void main(String[] args) {
    int i,j,mul,sum = 0;
    for(i=3;i<=15;i=i+2) {
      mul = 1;
      for(j=1;j<=i;j++) {
      mul = mul * j;
      }
      sum = sum + mul;
    }
    System.out.println("3!+5!+7!+...+15!= "+sum);

}

}
求3!+5!+7!+...+15!奇数的阶乘和,为什么我这段程序打出来最后结果是负数?

qiuyouzhi 发表于 2020-6-2 21:20:44

估计是溢出了,用long啥的试试?

eeg 发表于 2020-6-2 21:23:26

qiuyouzhi 发表于 2020-6-2 21:20
估计是溢出了,用long啥的试试?

我刚刚试了试,我把mul=1放到循环外就解决了,谢谢你了

eeg 发表于 2020-6-2 21:45:40

qiuyouzhi 发表于 2020-6-2 21:20
估计是溢出了,用long啥的试试?

兄弟,我错了,确实是溢出了

qiuyouzhi 发表于 2020-6-2 21:47:03

eeg 发表于 2020-6-2 21:45
兄弟,我错了,确实是溢出了

看来我猜对了
那么大的数int咋可能放得下

eeg 发表于 2020-6-2 21:48:51

qiuyouzhi 发表于 2020-6-2 21:47
看来我猜对了
那么大的数int咋可能放得下

马虎了,哈哈哈{:5_110:}谢啦

qiuyouzhi 发表于 2020-6-2 21:49:34

eeg 发表于 2020-6-2 21:48
马虎了,哈哈哈谢啦

那就设个最佳答案吧~
页: [1]
查看完整版本: java小白求助