Напишите функцию, которая будет принимать целое число и проверять, является ли оно факториалом какого-нибудь целого числа. Возвращать функция должна True или False.
Input всегда будет целым положительным числом, обрабатывать ошибки не нужно.
Примеры
is_factorial(2) ➞ True # 2 = 2 * 1 = 2! is_factorial(27) ➞ False is_factorial(24) ➞ True # 24 = 4 * 3 * 2 * 1 = 4!
Варианты решения
def is_factorial(n):
i,f = 1,1
while f < n:
i+=1
f*= i
return n == f
import math
def is_factorial(n):
lst=[]
for i in range(0,n+1):
lst.append(math.factorial(i))
return True if n in lst else False
Не все об этом знают, но в модуле math есть специальная функция — factorial(). Она принимает положительное целое число и выводит его факториал.