检测给定范围内的回文乘积。
回文数是指将其数字顺序颠倒后仍然保持不变的数字。例如,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)。
本练习的一个或多个测试被标记为:slow,因为它们可能需要很长时间才能完成。因此,平台上的自动化测试运行器不会运行这些测试。如果你直接在平台的网页编辑器中解这道练习,不妨考虑把这门练习下载到自己的电脑上,这样你就能运行所有测试,并检查解答的效率。