मान लीजिए कि हमारे पास k-अंकीय संख्या N है। N एक आर्मस्ट्रांग संख्या है, जब प्रत्येक अंक की k-वें घात का योग N होता है। इसलिए हमें सही लौटना होगा यदि यह एक है आर्मस्ट्रांग नंबर, अन्यथा गलत।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- पावर:=अंकों की संख्या
- अस्थायी:=n, रेस =0
- जबकि तापमान 0 नहीं है
- res :=res + (temp mod 10) ^ power
- अस्थायी:=अस्थायी / 10 //पूर्णांक विभाजन
- यदि 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