কম্পিউটার টিউটোরিয়াল

পাইথনে ইনভার্স ফ্যাক্টোরিয়াল (Inverse Factorial) বের করার প্রোগ্রাম


মান লো যাক আমাদের একটি সংখ্যা 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

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

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

  3. পাইথনে রিকারসিভ ফাংশন লেখার নিয়ম কী?

  4. পাইথনে রিকার্শন এবং ব্যাকট্র্যাকিং কী?