কম্পিউটার

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


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

সুতরাং, যদি ইনপুটটি n =144 এর মত হয়, তাহলে আউটপুটটি True হবে, যেমন 4! +5! =24 + 120 =144

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • ঘটনা :=1

  • res :=একটি নতুন তালিকা

  • x :=2

  • যদিও ফ্যাক্ট <=n, করবেন

    • res এর শেষে ফ্যাক্ট সন্নিবেশ করুন

    • fact :=fact * x

    • x :=x + 1

  • res-1 থেকে 0 রেঞ্জের আকারে i জন্য, 1 দ্বারা হ্রাস করুন, করুন

    • যদি n>=res[i] হয়, তাহলে

      • n :=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 বা নয়

  2. প্রদত্ত নম্বরটি পাইথনে নার্সিসিস্টিক নম্বর কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. একটি সংখ্যা পরীক্ষা করার জন্য প্রোগ্রাম কুশ্রী সংখ্যা বা পাইথনে নয়

  4. একটি সংখ্যা প্রাইম কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম