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

পাইথনে আর্মস্ট্রং সংখ্যা যাচাই করা

মনে করুন একটি k-ডিজিটের সংখ্যা N আছে। N হল আর্মস্ট্রং সংখ্যা যখন প্রতিটি ডিজিটের k-তম ঘাতের যোগফল N-র সমান হয়। আমাদের true রিটার্ন করতে হবে যদি এটি আর্মস্ট্রং সংখ্যা হয়, অন্যথায় false।

এটি সমাধান করার জন্য আমরা নিচের ধাপগুলো অনুসরণ করব:

  • power := ডিজিটের সংখ্যা
  • temp := n, res = 0
  • যখন temp 0 নয়
    • res := res + (temp % 10) ^ power
    • temp := temp / 10 // পূর্ণসংখ্যা ভাগ
  • যদি res = n, true রিটার্ন করুন, অন্যথায় false।

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝতে:

import math
class Solution(object):
    def poww(self, base, power):
        res = 1
        while power:
            if power & 1:
                res *= base
            base *= base
            power >>= 1
        return res

    def isArmstrong(self, n):
        power = int(math.log10(n)) + 1
        temp = n
        res = 0
        while temp:
            res += (self.poww(temp % 10, power))
            temp //= 10
        return res == n

ob1 = Solution()
print(ob1.isArmstrong(153))

ইনপুট

153

আউটপুট

true

  1. পাইথনে আর্মস্ট্রอง নম্বর চেক করা

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

  3. Python-এ একটি ইন্টারভ্যালে আর্মস্ট্রং নম্বর বের করা

  4. Python-এ আর্মস্ট্রং নম্বর জেনারেট করা