求助java的while编写1到20的阶乘的和

long i = 0, j = 1; int n=1; while (n <= 20 ) { j = j*n; i = i + j; n++; } System.out.println("20!="+i);输出结果不对,20!=2561327494111820313正确不是这个

程序的算法没有问题,测试代码如下:

class FactSum {
    public static void main(String[] args) {
        long i = 0, j = 1;
        int n = 1;
        while(n <= 20) {
            j = j * n;
            i = i + j;
            n++;
        }   
        System.out.println("20!=" + i); 
    }   
}

计算结果为:2561327494111820313

温馨提示:答案为网友推荐,仅供参考
相似回答