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

পাইথনে সংখ্যা স্বতন্ত্র ফ্যাক্টোরিয়াল যোগফল হিসেবে প্রকাশযোগ্য কিনা যাচাই করার প্রোগ্রাম


ধরা যাক একটি ধনাত্মক সংখ্যা n আছে, n কি স্বতন্ত্র ধনাত্মক ফ্যাক্টোরিয়াল সংখ্যাগুলোর যোগফল হিসেবে লেখা যায় কিনা যাচাই করতে হবে।

উদাহরণ: n = 144 হলে আউটপুট True, কারণ 4! + 5! = 24 + 120 = 144।

সমাধানের ধাপসমূহ

  • fact := 1, res := [], x := 2
  • যখন fact <= n: res-এ fact অ্যাপেন্ড করুন, fact = fact * x, x++
  • i = len(res)-1 থেকে 0 পর্যন্ত: যদি n >= res[i], n -= res[i]
  • n == 0 হলে True ফেরত দিন।

উদাহরণ কোড

class Solution:
    def solve(self, n):
        fact = 1
        res = []
        x = 2
        while fact <= n:
            res.append(fact)
            fact = fact * x
            x += 1
        for i in range(len(res)-1, -1, -1):
            if n >= res[i]:
                n -= res[i]
        return n == 0

ob = Solution()
print(ob.solve(144))

ইনপুট

144

আউটপুট

True
  1. পাইথনে চারটি ইউনিক এলিমেন্ট যাদের যোগফল ঠিক k (4Sum Exact)

  2. পাইথনে দেয়া সংখ্যা নার্সিসিস্টিক নম্বর কিনা যাচাই করার প্রোগ্রাম

  3. পাইথনে আযল নম্বর (Ugly Number) যাচাই করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: কোনো সংখ্যা প্রাইম কিনা তা যাচাই করা