## 【38】Pandigital multiples積連接(泛位數的倍數)
將192分別與1, 2, 3相乘:
* 192 × 1 = 192
* 192 × 2 = 384
* 192 × 3 = 576
將各個積連接起來,我們得到一個1到9的泛位數192384576,我們稱192384576是192和(1, 2, 3)的「積連接」。
同樣地,還可以將9分別與1, 2, 3, 4, 5相乘,得到的積連接是一個1到9的泛位數918273645。
請求出1到9的最大泛位數,並且它是某個整數與(1, 2, ... ,n)的積連接(n>1)。
#### 檢驗一下已知情況
#### (1)192和(1,2,3)的「積連接」:

#### (2) 9和(1,2,3,4,5)的「積連接」:

### 練習1:做一個函式,輸入長度9的數字串,判斷字串是否1~9數字各一個,不缺不重複。

上面的方法當然不完整,主要檢查9個數字和是否45,在迴圈中將字串的每一個字元先轉換成整數,再相加判斷是否45,當然依定要輸入長度為9的數字串,這關係到下一個練習的要求。
有幾個問題:
(1)字串中有0呢?必然有其他重複字元。(可以在源頭避開0或檢驗時避開)
例如checkPM("995319906")
(2)就算沒有0,也可能有重複字元。(可以不管0,只要是能比對出來)
例如checkPM("992119842")
#### 重點就是字元1~9不能重複,請你完善這個問題。
*也可以不用字串輸入,改以數字處理。
*或者用list處理,因為list可以很簡單排序,例如:

*int()可以將字元變成數字,而str()可以將數字變成字串,善加利用。
### 練習2:嘗試1到200中,對1~9做積連接
1~9不知道需要乘到哪一個,i=1時,需要乘到9,i=9時,需要乘到5,當數字變大時,看起來只要乘到3就夠了。
設計重點:
(1) 隨時將乘出的數字,累加到字串後面,當長度超過或等於9就不必乘算後面,迴圈用break跳出。
(2) 必須長度剛好等於9,而且通過練習1的checkPM()驗證

觀察上式,只有i=1、9、192才是真的對1~9做積連接,所以重點是checkPM()驗證函式的改良。
上例i=9時,918273645是最大值,但還不夠大,
## 請求出1到9的最大泛位數,並且它是某個整數與(1, 2, ... ,n)的積連接(n>1)。