Факториал заданного числа python

Факториал с использованием программирования на Python

Прежде чем мы начнем реализовывать факториал с использованием Python, давайте сначала обсудим, что подразумевает факториал числа.

Теоретически факториал числа определяется как произведение всех положительных целых чисел, меньших или равных числу. Конечно, n! представляет собой факториал целого числа n. В качестве примера рассмотрим факториал числа 6:

Чтобы определить факториал целого числа, можно использовать следующие методы:

  1. Использование цикла.
  2. Использование рекурсивного вызова функции.
  3. Использование предопределенной функции factorial() из математического модуля.

Использование цикла

Приведенный ниже код показывает, как можно вычислить факториал заданного числа с помощью цикла for в программировании на Python.

n=9 fact=1 for i in range(2,n+1): fact=fact*i print("The factorial of ",n," is: ",fact)
The factorial of 9 is: 362880

Использование вызова функции рекурсии

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

n=9 def fact(n): if(n==1 or n==0): return 1 else: return n*fact(n-1) print("The factorial of ",n," is: ",fact(n))
The factorial of 9 is: 362880

Использование метода factorial() из математического модуля

Математический модуль обеспечивает простой способ вычисления факториала любого положительного целого числа. Конечно, в модуле есть предопределенный метод factorial(), который принимает целое число в качестве аргумента и возвращает факториал числа. Давайте посмотрим, как мы можем использовать предопределенный метод и, следовательно, найти факториал. В приведенном ниже коде показано, как можно использовать метод factorial().

import math n=9 print("The factorial of ",n," is: ",math.factorial(n))
The factorial of 9 is: 362880

Кроме того, во всех вышеупомянутых методах мы использовали заранее определенное значение целого числа «n». Также возможно создание пользовательского ввода «n». Этого легко добиться, заменив строку n = 9 на:

n=int(input("Enter the number for calculating factorial"))

Источник

Читайте также:  Php перевод даты unix

Вычисление факториала

Факториалом числа называют произведение всех натуральных чисел до него включительно. Например, факториал числа 5 равен произведению 1 * 2 * 3 * 4 * 5 = 120.

Формула нахождения факториала:

n! = 1 * 2 * … * n,

где n – это число, а n! – факториал этого числа.

Формулу можно представить в таком виде:

т. е. каждый предыдущий множитель меньше на единицу, чем последующий. Или в перевернутом виде, когда каждый следующий меньше предыдущего на единицу:

Для вычисления факториала с помощью цикла можно использовать любую формулу. Для рекурсивного вычисления используется вторая.

Вычисление факториала с помощью циклов

n = int(input()) factorial = 1 while n > 1: factorial *= n n -= 1 print(factorial)

Вычисление факториала с помощью цикла for :

n = int(input()) factorial = 1 for i in range(2, n+1): factorial *= i print(factorial)

Нахождение факториала рекурсией

def fac(n): if n == 1: return 1 return fac(n - 1) * n print(fac(5))

Поток выполнения программы при n = 5:

  1. Вызов функции fac(5)
  2. fac(5) вызывает fac(4)
  3. fac(4) вызывает fac(3)
  4. fac(3) вызывает fac(2)
  5. fac(2) вызывает fac(1)
  6. fac(1) возвращает в fac(2) число 1
  7. fac(2) возвращает в fac(3) число 1 * 2, т. е. 2
  8. fac(3) возвращает в fac(4) число 2 * 3, т. е. 6
  9. fac(4) возвращает в fac(5) число 6 * 4, т. е. 24
  10. fac(5) возвращает число 24 * 5, т. е. 120 в основную ветку программы
  11. Число 120 выводится на экран

Функция factorial модуля math

Модуль math языка программирования Python содержит функцию factorial , принимающую в качестве аргумента неотрицательное целое число и возвращающую факториал этого числа:

>>> import math >>> math.factorial(4) 24

Источник

3 способа вычислить факториал в Python

3 способа вычислить факториал в Python

Статьи

Введение

В ходе статьи рассмотрим 3 способа вычислить факториал в Python.

Вычисление факториала циклом while

Цикл while

Для начала дадим пользователю возможность ввода числа и создадим переменную factorial равную единице:

number = int(input('Введите число: ')) factorial = 1

Как мы знаем, факториал – это произведение натуральных чисел от единицы до числа n. Следовательно создадим цикл, который не закончится, пока введённое пользователем число больше единицы. Внутри цикла увеличиваем значение в переменной factorial умножая его на переменную number, после чего уменьшаем значение в number на единицу:

number = int(input('Введите число: ')) factorial = 1 while number > 1: factorial = factorial * number number = number - 1 print(factorial) # Введите число: 10 # 3628800

Цикл for

Обычно способ нахождения факториала при помощи цикла for не рассматривается, но почему бы и нет. Принцип не сильно отличается от цикла while, просто приравниваем значение введённое пользователем к переменной factorial, а в цикле указываем количество итреаций начиная с единицы, и заканчивая введённым числом:

number = int(input('Введите число: ')) factorial = number for i in range(1, number): factorial = factorial * i print(factorial) # Введите число: 5 # 120

Вычисление факториала Рекурсией

Для вычисления факториала про помощи рекурсии, создадим функцию factorial(), и в качестве аргумента передадим number:

Читайте также:  Static types in javascript

Внутри функции добавим условие, что если переданное число в аргумент number равняется единице, то возвращаем его. Если же условие не сработало, то вернётся аргумент number умноженный на вызов функции factorial() с передачей аргумента number – 1:

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

Дадим пользователю возможность ввода, вызовем функцию и выведем результат в консоль:

def factorial(number): if number == 1: return number else: return number * factorial(number - 1) print(factorial(int(input('Введите число: ')))) # Введите число: 7 # 5040

Вычисление факториала методом factorial()

В стандартном модуле math есть специальный метод для вычисления факториала под названием factorial(). Используем его для нахождения факториала:

from math import factorial number = int(input('Введите число: ')) print(factorial(number)) # Введите число: 4 # 24

Заключение

В ходе статьи мы с Вами рассмотрели целых 3 способа вычислить факториал в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Источник

Оцените статью