কম্পিউটার

পাইথনে ইনভার্স ফ্যাক্টরিয়াল


ধরুন আমাদের একটি সংখ্যা 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
  • যদি a হয় L, তাহলে
    • (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

    1. একটি সংখ্যার ফ্যাক্টোরিয়ালের জন্য পাইথন প্রোগ্রাম

    2. পাইথনে ফ্যাক্টোরিয়াল()

    3. পাইথনে একটি পুনরাবৃত্ত ফাংশন কিভাবে লিখবেন?

    4. পাইথনে পুনরাবৃত্তি এবং ব্যাকট্র্যাকিং কি?