Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

숫자의 가장 큰 소인수 찾기를 위한 Python 프로그램

<시간/>

이 기사에서 우리는 아래 주어진 문제 설명에 대한 해결책에 대해 배울 것입니다 -

문제 설명

양의 정수 n이 주어집니다. 숫자의 가장 큰 소인수를 찾아야 합니다.

접근

  • 주어진 숫자 입력을 숫자의 제수로 나누어 인수분해합니다.
  • 이제 최대 소인수를 계속 업데이트하십시오.

import math
def maxPrimeFactor(n):
   # number must be even
   while n % 2 == 0:
      max_Prime = 2
      n /= 1
   # number must be odd
   for i in range(3, int(math.sqrt(n)) + 1, 2):
      while n % i == 0:
         max_Prime = i
         n = n / i
   # prime number greator than two
   if n > 2:
      max_Prime = n
   return int(max_Prime)
# Driver code to test above function
n = 15
print(maxPrimeFactor(n))

시간 복잡도:O(n^½)

보조 공간:O(1)

출력

5

모든 변수는 아래 그림과 같이 전역 프레임에 선언됩니다.

숫자의 가장 큰 소인수 찾기를 위한 Python 프로그램

결론

이 기사에서는 숫자의 가장 큰 소인수를 찾는 접근 방식에 대해 배웠습니다.