Вопрос задан 01.04.2025 в 13:26. Предмет Информатика. Спрашивает Курилова Инга.

*СРОЧНО!* Факториал натурального числа n определяется как произведение всех натуральных чисел от 1 до n включительно и обозначается n!:

n!=1∗2∗3∗...∗n
Например, 3!=1∗2∗3=6.

Напишите программу, которая выводит на экран значение 20!.

Python 3 без циклов

Перейти к ответам

Ответы на вопрос

Отвечает Федів Антон.

Чтобы вычислить факториал числа 20 в Python без использования циклов, можно использовать рекурсию или встроенную функцию из стандартной библиотеки math.

Вариант 1: Использование рекурсии

Рекурсия — это процесс, когда функция вызывает саму себя для вычисления подзадач, пока не достигнет базового случая. Для вычисления факториала можно создать рекурсивную функцию, которая будет вычислять факториал числа, уменьшая его на каждом шаге.

Вот пример программы, использующей рекурсию:

python
def factorial(n): if n == 1: return 1 else: return n * factorial(n - 1)

print(factorial(20))

В этой программе функция factorial вызывает сама себя, пока не достигнет базового случая n == 1, после чего возвращает результат, перемножая все числа.

Вариант 2: Использование функции math.factorial

Python предоставляет модуль math, который включает в себя функцию factorial для вычисления факториала числа. Это решение наиболее короткое и эффективное.

python
import math

print(math.factorial(20))

Этот вариант идеально подходит, если вам не нужно писать рекурсивную функцию вручную, и хотите воспользоваться уже готовым решением. Функция math.factorial автоматически вычисляет факториал, используя оптимизированные алгоритмы.

Оба варианта дадут правильный результат, который будет равен:

2432902008176640000

Таким образом, вы можете выбрать тот метод, который вам удобнее: либо рекурсию, либо встроенную функцию.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос