숫자 n이 있다고 가정합니다. 또 다른 두 개의 숫자와 b가 있습니다. n을 나누는 and b를 사용하여 숫자를 생성할 수 있는지 확인해야 합니다.
따라서 입력이 n =115, a =3, b =2와 같으면 115는 2와 3으로 구성된 23으로 나눌 수 있으므로 출력은 True가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- util() 함수를 정의합니다. temp, b, n 이 소요됩니다.
- temp>
n이면
- 거짓을 반환
-
n이 온도로 나누어지면
- 참 반환
- util(temp * 10 + a, a, b, n) 또는 util(temp * 10 + b, a, b, n) 중 하나 이상이 true이면 true를 반환하고 그렇지 않으면 false를 반환합니다.
- 기본 메소드에서 util(a, a, b, n) 또는 util(b, a, b, n) 중 하나 이상이 true이면 true를 반환하고 그렇지 않으면 false를 반환합니다.
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def util(temp, a, b, n): if temp > n: return False if n % temp == 0: return True return util(temp * 10 + a, a, b, n) or util(temp * 10 + b, a, b, n) def solve(n, a, b): return util(a, a, b, n) or util(b, a, b, n) n = 115 a = 3 b = 2 print(solve(n, a, b))
입력
115, 2, 3
출력
True