0038 全数字倍数
* * * *
拉格朗日计划
* * * *
全数字倍数

将192分别与1、2、3相乘得 \begin{align*} 192\times 1&=192 \\ 192\times 2&=384 \\ 192\times 3&=576 \\ \end{align*} 将这些乘积拼接起来,可得一个由1至9组成的全数字数192384576,1至9的每个数字都在该数中出现且仅出现一次,因此称192384576为192与1、2、3的全数字拼接乘积数。

类似地,将9分别与1、2、3、4、5相乘并拼接,也可得全数字拼接乘积数918273645。

求最大的全数字拼接乘积数。

本题难度:



解答

显然我们应该考虑第一个数字是9的数,若d是这样的数,那么2d比d多一位,因此d应当是四位数或一位数。

一位数的情况已在题面中给出。在9000与9999之间搜索,可得三个全数字拼接乘积数926718534,927318546,932718654,因此结果是$932718654$。

print max(int(j) for i in range(9000,10000) for j in [str(i)+str(i*2)] if "0" not in j and len(set(j))==9)