숫자 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 mod i가 0인 동안 do
- 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