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

파이썬에서 숫자가 못생긴 숫자인지 확인하는 프로그램

<시간/>

숫자 n이 있다고 가정하고 그 소인수가 2, 3 또는 5만 포함하는지 여부를 확인해야 합니다.

따라서 입력이 n =18과 같으면 18의 소인수가 2와 3이므로 출력은 True가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • n <0이면
    • 거짓을 반환
  • factor :=요소가 있는 목록 [2,3,5]
  • 각 i에 대해 다음을 수행합니다.
    • n mod i가 0인 동안 do
      • n :=n / 나
  • n이 1과 같으면 true를 반환하고, 그렇지 않으면 false를 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

class Solution:
   def solve(self, n):
      if n < 0:
         return False
      factor = [2,3,5]
      for i in factor:
         while n%i ==0:
            n/=i
      return n==1
ob = Solution()
print(ob.solve(18))

입력

18

출력

True