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

与えられた数のすべての素因数を出力する効率的なプログラムのためのPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明 −数が与えられているので、与えられた数のすべての素因数を見つける必要があります。

この問題の効率的な解決策については、以下で説明します-

# Python program to print prime factors
import math
# prime
def primeFactors(n):
   # no of even divisibility
   while n % 2 == 0:
      print (2),
      n = n / 2
   # n reduces to become odd
   for i in range(3,int(math.sqrt(n))+1,2):
      # while i divides n
      while n % i== 0:
         print (i)
         n = n / i
   # if n is a prime
   if n > 2:
      print (n)
n = 200
primeFactors(n)

出力

2
2
2
5
5

与えられた数のすべての素因数を出力する効率的なプログラムのためのPythonプログラム

上の図に示すように、すべての変数と関数はグローバルスコープで宣言されています。

結論

この記事では、与えられた数のすべての素因数を効率的に出力する方法を学びました。


  1. 数の一意の素因数の積のためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −数値nが与えられた場合、利用可能なすべての固有の素因数の積を見つけて返す必要があります。 たとえば、 Input: num = 11 Output: Product is 11 Explanation: Here, the input number is 11 having only 1 prime factor and it is 11. And hence their product is 11. アプローチ1 i=2からn+1までのforループを使用して、iがnの因数であるかどうかを確認し、次に

  2. 与えられた数がフィボナッチ数であるかどうかをチェックする方法のためのPythonプログラム?

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p