Может. То, что вы спрашиваете, звучит как памятка - вы сохраняете предыдущие результаты, чтобы ускорить вычисления позже. Так, например, если вы вычислите 9 !, вы можете сохранить значения для 1! .. 9 !, а если вас попросят 8! позже вы можете просто вернуть сохраненное значение. Точно так же, если попросить 10 !, вы можете вычислить 10 & times; 9! быстро.
Дело в том, что факториал ( n ) растет так быстро, что при больших значениях n вы можете использовать много памяти, поэтому торговля в пространстве и времени может не произойти быть стоящим.
Другой функцией, которая может эффективно использовать запоминание, является вычисление чисел Фибоначчи.