Напишите функцию, которая будет принимать целое число и проверять, является ли оно факториалом какого-нибудь целого числа. Возвращать функция должна 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(). Она принимает положительное целое число и выводит его факториал.