Получи случайную криптовалюту за регистрацию!

А я вот чего подумал. %username%, ты считаешь, что факториал — | Javanese Online

А я вот чего подумал.
%username%, ты считаешь, что факториал — хороший пример на рекурсию и генераторы? Бро, нет.

Определение n! = n * (n-1)! не только рекурсивно, оно ещё и рекуррентно, то есть следующий член легко вычисляется на основании предыдущего.
Итераторы-генераторы в целом подходят, но очень быстро наступит переполнение, т. к. 21! уже не влезает в Long/ULong. Тестировать такой генератор скучно, а всерьёз использовать — больно.

В итоге я остановился на табличном методе: сразу вычисляем аж все 20 факториалов, которые вмещаются в Long, и хватит. Никакой рекурсии, никаких вспомогательных объектов, очень просто и «в лоб». Но громоздко, да.