我把int改成long型,但是答案还是不对, 希望可以指出我的代码的问题,谢谢!!
int 溢出了;这类问题可以考虑用dp
long[] arr = new long[21];
arr[1] = 1;
long sum = 1;
for(int i=2;i<=20;i++){
arr[i] = arr[i-1] * i;
sum += arr[i];
}
System.out.println(Arrays.toString(arr));
System.out.println(sum);
你用int类型去接收结果会超过int类型的最大值的,必须要有long或以上的大数据类型
题目中 sum和n都需要修改为long