Вы должны использовать другое имя переменной цикла во внутреннем цикле, и вам также нужно использовать long
для хранения вашей суммы. На самом деле, я бы сначала написал метод умножения до числа в серии. Как,
static long multiplyTo(int n) {
long r = 1L;
for (int i = 2; i <= n; i++) {
r *= i;
}
return r;
}
Тогда вы можете вызвать это и вычислить вашу сумму с помощью простого цикла. Как,
long sum = 0L;
for (int i = 1; i <= 20; i++) {
sum += multiplyTo(i);
}
System.out.println(sum);
Я получаю
2561327494111820313