Урок #44. Рекурсия. Факториал числа c++ рекурсивно. Рекурсия факториал. Рекурсивный алгоритм факториал.
Факториал числа N = N!
Всем привет! Начнем с классического варианта алгоритма: Есть еще вариант алгоритма на рекурсии: Забегу вперед, и напишу, что расчет 50 000! классическим алгоритмом занял 22 сек. против 1,6 сек реализации на Cи Шарп (смотрите публикацию на Хабр Алгоритмы быстрого вычисления факториала). Реализация на 1С рекурсии вылетает из 1С даже для 2000! Интересные обсуждения на эту тему есть под публикацией 2014 года Библиотека математических функций 1.1 Я подумал, что в жизни, наверное, нет задач, в которых надо рассчитать факториал единожды...
Как вычислить факториал в 1с
Вычисление факториала в "1С" можно реализовать несколькими способами. Вот два основных подхода: 1. Использование цикла: Этот способ наиболее простой и понятный. 1C Функция Факториал(Число)
Если Число < 0 Тогда Возврат Неопределено; // Факториал не определен для отрицательных чисел КонецЕсли;
Результат = 1;
Для i = 1 По Число Цикл Результат = Результат * i;
КонецЦикла;
Возврат Результат;
КонецФункции Пример использования: 1C Число = 5;
ФакториалЧисла = Факториал(Число);
Если ФакториалЧисла <> Неопределено Тогда Сообщить("Факториал числа " + Число + " равен " + ФакториалЧисла);
Иначе Сообщить("Факториал не определен для отрицательных чисел...