Pythonのアームストロング数
k桁の数値Nがあるとします。各桁のk乗の合計がNになると、Nはアームストロング数になります。したがって、次の場合はtrueを返す必要があります。アームストロング数、それ以外の場合はfalse。
これを解決するには、次の手順に従います-
- power:=桁数
- temp:=n、res =0
- 温度が0ではない場合
- res:=res +(temp mod 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
-
アームストロング数をチェックするPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 整数nが与えられた場合、与えられた整数がアームストロング数であることを確認する必要があります。 正の整数は、次の場合、n次のアームストロング数と呼ばれます abcd... = a^n + b^n + c^n + d^n + … ここでは、3桁のアームストロング数、つまり3桁のブルートフォースアプローチについて説明します。 オーダーnのアームストロング番号を確認するには、3を行番号7の対応するオーダー値に置き換える必要があります。 それでは、実装を見てみましょう- 例
-
Pythonでアームストロング数を生成する方法は?
3桁の数字は、その数字の3乗の合計が数字自体に等しいアームストロング数と呼ばれます。数値がこの条件を満たすかどうかを確認するために、数値の各桁が右から連続して分離され、その立方体が累積的に加算されます。結局、合計が元の数と等しいことがわかった場合、それはアームストロング数と呼ばれます。 例 次のPythonコードは、100から999までのすべてのナルシシスト数を出力します for num in range(100,1000): temp=num sum=0 while temp>0: digit=temp%10 &nb