주어진 범위에서 회문 곱을 찾아요.
회문수는 숫자를 거꾸로 뒤집어도 같은 수를 말해요. 예를 들어 121은 회문수지만 112는 아니에요.
숫자 범위가 주어지면, 그 범위 안의 두 수를 곱해서 나오는 회문 곱 중에서 가장 큰 것과 가장 작은 것을 찾아요.
풀이는 가장 큰 회문 곱과 가장 작은 회문 곱을, 그리고 각각의 범위 내 약수들을 함께 반환해야 해요. 가장 큰 회문 곱이나 가장 작은 회문 곱에 범위 내 약수 쌍이 두 개 이상 있으면, 그 쌍을 모두 반환해요.
범위 [1, 9]가 주어지면 (양 끝 포함)...
그리고 이 범위에서 나올 수 있는 모든 곱의 목록이 주어져요:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]
이 경우 회문 곱은 모두 한 자리 수예요:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
가장 작은 회문 곱은 1이에요. 약수는 (1, 1)이에요.
가장 큰 회문 곱은 9예요. 약수는 (1, 9)와 (3, 3)이에요.
범위 [10, 99]가 주어지면 (양 끝 포함)...
가장 작은 회문 곱은 121이에요. 약수는 (11, 11)이에요.
가장 큰 회문 곱은 9009예요. 약수는 (91, 99)예요.
Exercism에 가입하고 Delphi Pascal 트랙을 연습 문제 76개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.