回文の積

回文の積

中級

説明

与えられた範囲の中から、回文の積を見つけます。

回文数とは、数字を逆に並べても同じになる数のことです。 たとえば、121は回文数ですが、112はそうではありません。

ある範囲の数が与えられたとき、その範囲内の2つの数の積として表せる回文のうち、最大のものと最小のものを見つけます。

解答では、最大と最小の回文の積を、それぞれの範囲内での因数とともに返します。 最大または最小の回文の積に、範囲内での因数の組が複数ある場合は、そのすべての組を返します。

例1

範囲[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桁の数です。 [1, 2, 3, 4, 5, 6, 7, 8, 9]

最小の回文の積は1です。 その因数は(1, 1)です。 最大の回文の積は9です。 その因数は(1, 9)と(3, 3)です。

例2

範囲[10, 99](両端を含む)が与えられたとします…

最小の回文の積は121です。 その因数は(11, 11)です。 最大の回文の積は9009です。 その因数は(91, 99)です。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Standard ML Exercism

回文の積を始める準備はできましたか?

Exercismに登録すれば、90個の演習、そして本物の人間によるメンタリングとともに、Standard MLを学んでマスターできます。すべて無料です。