Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonプログラムを作成して、数値が強い数値であるかどうかを確認します


強い数字とは何ですか?

強い数とは、その桁の階乗の合計に等しい数です。

145
Factorial of 1=1
Factorial of 4=24
Factorial of 5=120
Sum=1+24+120
   =145

次のプログラムは、入力された数が強い数であるかどうかを見つけることです。数値が強い数値の場合は「True」を返し、そうでない場合は「False」を返します。

  • 2つの関数isStrong()を使用しています 数値が強いかどうかを判断する2番目のメソッドはfactorial() 渡された桁の階乗を返します。

  • 階乗() isStrong()の内部から呼び出されます すべての桁(n%10)の階乗を取得し、それを合計に追加します。

  • すべての桁の階乗が合計された後、合計が元の数値と比較されます。等しい場合はtrueが返され、そうでない場合はfalseが返されます。

  • なぜnをコピーするのですか num isStrong()で ? whileループを繰り返すと、nの値はゼロに変更されますが、後で元の値を合計と比較する必要があるため、変更する前にnの値を変数にコピーする必要があります。

  • 階乗() 再帰を使用して桁の階乗を計算します。

def factorial(d):
   if(d==1 or d==0):
      return 1
   return d*factorial(d-1)
def isStrong(n):
   num=n
   sm=0
   while(n>0):
      digit=n%10
      sm=sm+factorial(digit)
      n=n//10
   if(sm==num):
      return True
   else:
      return False
print("Input a number")
a=int(input())
print(isStrong(a))

出力

Input a number
145
True

  1. 数の階乗のためのPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −nの階乗を計算するタスク。 非負数の階乗は-で与えられます n! = n*n-1*n-2*n-3*n-4*.................*3*2*1 この問題には2つの解決策があります 再帰的アプローチ 反復的なアプローチ アプローチ1-再帰的アプローチ 例 def factorial(n): # recursive solution    if (n==1 or n==0):       return 1   &

  2. 数値が素数かどうかをチェックするPythonプログラム

    ここでは、1より大きい指定された数が素数であるかどうかをテストするプログラムを作成します。 素数は1より大きい正の整数であり、2つの因子1と、その数自体(たとえば、数:2、3、5、7…など)は2つの因子しかないため、素数です。 1と番号自体。 # Python program to check if the input number is prime or not #Take input from the user num = int(input("Please enter the number: ")) #Check if the given number is gre