@@ -116,6 +116,12 @@ public static long FactTree(int n)
116116 return n * Factorial ( n - 1 ) ;
117117 }
118118
119+ /// <summary>
120+ /// <para>Generate the factorial of the value "n".</para>
121+ /// <para>Генерация факториaла из значения переменной "n".</para>
122+ /// </summary>
123+ /// <param name="n"><para>Factorial generation value.</para><para>Значение генерации факториала.</para></param>
124+ /// <returns><para>Result of factorial calculation.</para><para>Результат подсчета факториала</para></returns>
119125 public static long FactorialWhileWithArray ( long n )
120126 {
121127 long [ ] _facts =
@@ -131,6 +137,37 @@ public static long FactorialWhileWithArray(long n)
131137 return r ;
132138 }
133139
140+ /// <summary>
141+ /// <para>Generate the factorial of the value "n".</para>
142+ /// <para>Генерация факториaла из значения переменной "n".</para>
143+ /// </summary>
144+ /// <param name="n"><para>Factorial generation value.</para><para>Значение генерации факториала.</para></param>
145+ /// <returns><para>Result of factorial calculation.</para><para>Результат подсчета факториала</para></returns>
146+ public static long FactorialWhileWithoutArray ( long n )
147+ {
148+ if ( n < _factorials . Length ) return _factorials [ n ] ;
149+
150+ long r = n ;
151+ while ( n > 1 ) r *= -- n ;
152+ return r ;
153+ }
154+
155+ /// <summary>
156+ /// <para>Generate the factorial of the value "n".</para>
157+ /// <para>Генерация факториaла из значения переменной "n".</para>
158+ /// </summary>
159+ /// <param name="n"><para>Factorial generation value.</para><para>Значение генерации факториала.</para></param>
160+ /// <returns><para>Result of factorial calculation.</para><para>Результат подсчета факториала</para></returns>
161+ public static long FactorialWhileWithoutArrayAndCountingArrayLength ( long n )
162+ {
163+ if ( n < 21 ) return _factorials [ n ] ;
164+
165+ long r = n ;
166+ while ( n > 1 ) r *= -- n ;
167+ return r ;
168+ }
169+
170+
134171 /// <summary>
135172 /// <para>Generating the Catalan Number of the value "n".</para>
136173 /// <para>Генерация числа Каталана из значения переменной "n".</para>
0 commit comments