學習軌道
/
Elixir
Elixir
/
練習
/
迴文乘積
迴文乘積

迴文乘積

中等

說明

在給定的範圍中找出迴文乘積。

迴文數是指把數字反轉後仍然相同的數字。 例如,121是迴文數,但112不是。

給定一個數字範圍,找出該範圍內兩個數字相乘的乘積中,最大與最小的迴文。

你的解法應該回傳最大與最小的迴文,以及各自在該範圍內的因數。 如果最大或最小的迴文在該範圍內有多於一組因數,就回傳所有的因數對。

範例 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, 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)。

較慢的測試

這個練習有一或幾個測試被標記為:slow,因為它們可能需要很久才能完成。因此,平台上的自動測試執行器不會執行它們。如果你直接在平台上的網頁編輯器解這個練習,不妨考慮把這個練習下載到自己的電腦上。這樣你就能執行所有測試,並檢查你的解法效率喔。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Elixir Exercism

準備好開始 迴文乘積 了嗎?

註冊 Exercism,透過 58 個概念168 個練習 和真人引導來學習並精通 Elixir,全部免費。