به نام خدا
دقت کنید که برای فاکتوریلها عملیات معکوس وجود ندارد، بنابراین هیچ راهی وجود ندارد که بتوانیم جواب دقیقی به این پرسش بدهیم. میدانیم که برای عمل جمع ($+$) عمل معکوس وجود دارد که تفریق ($-$) است، برای عمل ضرب ($\times$) عمل معکوس وجود دارد که تقسیم ($÷$) است، و برای برخی عملیات دیگر نیز در ریاضیات عملیات معکوسی وجود دارد، اما برای فاکتوریل عمل معکوسی وجود ندارد.
$$x!=a$$
اما حالا برنامهای با پایتون نوشتهام که در اینجا آن را میبینید. این برنامه عدد طبیعیِ $a$ در معادلۀ بالا را از کاربر به عنوان ورودی میگیرد و $x$ را نمایش میدهد. در صورتی که هیچ مقدار طبیعیای برای $x$ وجود نداشته باشد، پیغام «There is no natural number for x» را نمایش میدهد.
a = int(input("Enter a natural number: "))
i = 1
j = 1
if a <= 0:
print(a, "is not a natural number")
else:
while(j <= a):
j *= i
if j == a:
print("x =", i)
break
else:
i += 1
else:
print("There is no natural number for x")