কম্পিউটার

পাইথনে শুভ সংখ্যা


ধরুন আমাদের একটি সংখ্যা n আছে। আমরা পরীক্ষা করব যে এটি একটি শুভ সংখ্যা কিনা। যেমনটি আমরা জানি, খুশি সংখ্যা হল একটি সংখ্যা, যেখানে যেকোনো ধনাত্মক পূর্ণসংখ্যা দিয়ে শুরু করে তার সংখ্যার বর্গক্ষেত্রের যোগফল দ্বারা সংখ্যাটিকে প্রতিস্থাপন করে, এই প্রক্রিয়াটি পুনরাবৃত্তি করা হবে যতক্ষণ না এটি 1 হয়ে যায়, অন্যথায় এটি একটি চক্রের মধ্যে অবিরামভাবে লুপ হবে। সেই সংখ্যাগুলি, যখন 1 পাওয়া যায়, তখন তারা খুশি হবে৷

সুতরাং, ইনপুটটি 19 এর মতো, আউটপুটটি সত্য হবে কারণ সংখ্যাটি খুশি সংখ্যা। আমরা 19 থেকে দেখতে পারি, আমরা পাব

1 2 + 9 2 =82

8 2 + 2 2 =৬৮

6 2 + 8 2 =100

1 2 + 0 2 + 0 2 =1

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

  • এখানে আমরা ডায়নামিক প্রোগ্রামিং পদ্ধতি ব্যবহার করব, এবং পুনরাবৃত্তি ব্যবহার করে এটি সমাধান করব
  • বেস কেস হল, যখন n =1, তারপর true রিটার্ন করুন
  • যখন n ইতিমধ্যেই পরিদর্শন করা হয়, মিথ্যা ফেরত দিন
  • n কে পরিদর্শন করা হয়েছে হিসাবে চিহ্নিত করুন
  • n :=n স্ট্রিং হিসাবে, l :=n-এ সমস্ত সংখ্যার তালিকা
  • temp :=সমস্ত অঙ্কের বর্গাকার যোগফল
  • পরামিটার টেম্প এবং ভিজিট করা তালিকার সাথে পুনরাবৃত্তভাবে রিটার্ন ফাংশন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution(object):
   def isHappy(self, n):
      return self.solve(n,{})
   def solve(self,n,visited):
      if n == 1:
         return True
      if n in visited:
         return False
         visited[n]= 1
         n = str(n)
         l = list(n)
         l = list(map(int,l))
         temp = 0
         for i in l:
            temp += (i**2)
         return self.solve(temp,visited)
ob = Solution()
print(ob.isHappy(19))

ইনপুট

19

আউটপুট

True

  1. পাইথনে এলোমেলো সংখ্যা

  2. কিভাবে Python এ জটিল সংখ্যা প্লট করবেন?

  3. পাইথনে ভাসমান সংখ্যাগুলি কীভাবে আটকানো যায়?

  4. পাইথনে সংখ্যার তুলনা কিভাবে?