ধরুন আমাদের একটি সংখ্যা a আছে, আমাদের n বের করতে হবে, যেমন n (n!) এর ফ্যাক্টরিয়াল a এর সমান। আমরা জানি, ফ্যাক্টোরিয়াল n =n * (n - 1) * (n - 2) * ... * 1. যদি n এরকম কোনো পূর্ণসংখ্যা না থাকে তবে -1 ফেরত দিন।
সুতরাং, ইনপুট যদি a =120 এর মত হয়, তাহলে আউটপুট হবে 5।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- i :=0, num :=1
- L:=একটি নতুন তালিকা
- যখন i
- i :=সংখ্যার ফ্যাক্টরিয়াল
- L-এর শেষে i ঢোকান
- সংখ্যা :=সংখ্যা + 1
- (L তে a এর সূচক) +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