ধরুন আমাদের একটি k-সংখ্যার সংখ্যা N আছে। N হল একটি আর্মস্ট্রং সংখ্যা যখন প্রতিটি অঙ্কের k-th ঘাত N-এ যোগ হবে। তাই আমাদের সত্যিকারে ফিরতে হবে যদি এটি একটি হয় আর্মস্ট্রং নম্বর, অন্যথায় মিথ্যা।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- শক্তি :=সংখ্যার সংখ্যা
- temp :=n, res =0
- যখন temp 0
- নয়
- res :=res + (temp mod 10) ^ power
- temp :=temp / 10 //integer division
- যদি res =n হয়, সত্য ফেরত দিন, অন্যথায় মিথ্যা।
উদাহরণ
আসুন আরও ভালোভাবে বোঝার জন্য নিচের বাস্তবায়ন দেখি −
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