মান লো যাক আমাদের একটি সংখ্যা a আছে, আমাদের n বের করতে হবে, যাতে n-এর ফ্যাক্টোরিয়াল (n!) a-এর সমান। যেনে আছে, ফ্যাক্টোরিয়াল n = n * (n - 1) * (n - 2) * ... * 1। যদি এমন কোনো ইন্টিজার n না থাকে তবে -1 রিটার্ন করুন।
উদাহরণস্বরূপ, যদি ইনপুট হয় a = 120, তবে আউটপুট হবে 5।
এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:
- i := 0, num := 1
- L := একটি নতুন তালিকা
- जब तक i < a, करें
- i := num-এর ফ্যাক্টোরিয়াল
- i কে L-এ অ펜্ড করুন
- num := num + 1
- यदि a, L-এ থাকে, तो
- (a-এর L-এ ইনডেক্স) + 1 রিটার্ন করুন
- अन्यथा,
- -1 रिटर्न करें
বेहतर বোঝার জন্য নিম্নলিখিত বাস্তবায়ন देखুন:
উদাহরণ
import math class Solution: def solve(self, a): i,num=0,1 L=[] while i < a : i=math.factorial(num) L.append(i) num+=1 if a in L : return L.index(a)+1 else : return -1 ob = Solution() print(ob.solve(120))
ইনপুট
120
আউটপুট
5