Если записано как вложенные циклы, это будет выглядеть так:
for (int i = 1; i < N; ++i)
{
int factorial = 1;
for (int j = 1; j <= i; ++j) {
factorial *= j;
}
System.out.println(i + "! = " + factorial);
}
Результат:
Enter a number : 10
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
Эта программа дает тот же результат, что и ваш, это займет больше времени. То, что у вас уже есть, хорошо. Также обратите внимание, что факториальная функция растет очень быстро, поэтому int
будет слишком маленьким, чтобы держать результат даже при умеренно большом N.
Если вы хотите включить в результат 10!
, вам нужно изменить условие для i < N
на i <= N
.