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

পাইথনে হ্যাপি নাম্বার যাচাই

একটি সংখ্যা n "হ্যাপি নাম্বার" কিনা তা যাচাই করতে হবে। হ্যাপি নাম্বার হল এমন সংখ্যা যা যদি এর অঙ্কগুলোর বর্গের যোগফল নেওয়া হয়, এবং এই প্রক্রিয়া বারবার दुहरালে শেষে ১ এসে পৌঁছায়। অন্যথায় এটি সাইকেলে পড়ে যায়। উদাহরণ: ১৯ হ্যাপি নাম্বার, কারণ ১²+৯²=৮২, ৮²+২²=৬৮, ৬²+৮²=১০০, ১²+০²+০²=১।

সমাধানের পদ্ধতি

  1. রিকারশন এবং ভিজিটেড সেট ব্যবহার করুন।
  2. বেস কেস: n == 1 হলে True।
  3. যদি n ইতিমধ্যে ভিজিটেড হয়, False রিটার্ন করুন।
  4. n-কে ভিজিটেডে যোগ করুন।
  5. n-কে স্ট্রিং বানিয়ে অঙ্কগুলো বর্গ করে যোগফল বের করুন।
  6. রিকারসিভলি নতুন যোগফলের জন্য ফাংশন কল করুন।

উদাহরণ কোড

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)

ob1 = Solution()
op = ob1.isHappy(19)
print("Is Happy:", op)

ইনপুট

19

আউটপুট

Is Happy: True
  1. পাইথনে ১ বিট গণনা (Hamming Weight)

  2. পাইথনে সিংগেল নাম্বার (Single Number)

  3. পাইথনে প্যালিনড্রোম নাম্বার যাচাই (Palindrome Number)

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