九個空格中1 到9 - 減法找 6666ˊ

有一個題目說:  請在空格中填入19不重複,你現在就來嘗試看看吧!  這一題如果用程式解懂得演算法的,不會超過五分鐘就把科答案通通列出來!
     □□□□□
 -       □□□□
---------------------
     6  6  6  6  6
    這個題目:
       當遊戲看         ------- 你會解 1/10 ( 因為答案有 10 )       
       當數學看         ------- 你會思考數學的奧秘        
       當電腦程式設計看 -------你會找方法解題
這一題在電腦程式設計中市非常典型的題目,解題的方法可以用排列,也就是找出19的九個數字不重複產生的所有組合,把前五個數字減去後四個數字,如果答案和6666相同就印出這個數字。共有10組解答:
6 9 1 5 3 — 2 4 8 7 = 66666
6 9 5 1 3 — 2 8 4 7 = 66666
7 1 3 5 8 — 4 6 9 2 = 66666
7 1 5 2 9 — 4 8 6 3 = 66666
7 1 9 3 4 — 5 2 6 8 = 66666
7 3 1 5 8 — 6 4 9 2 = 66666
7 3 1 9 4 — 6 5 2 8 = 66666
7 3 4 9 1 — 6 8 2 5 = 66666
7 4 9 3 1 — 8 2 6 5 = 66666
7 5 1 2 9 — 8 4 6 3 = 66666
    如果想要節省程式的比對和運算的時間,其實只有在第一個數字是67的時候,才會找到吻合的答案。所以如果第一個數字不是67,就可以不考慮,只從第一個數字是67去找答案,可以省下 7/9 的運算時間,當然還可以有更有效的解法,我們把這一些運算思維叫做演算法。

Python 程式下載 : https://app.box.com/s/due6rir358itvtey4aidaceous0ordl8

     

沒有留言:

張貼留言

Python程式設計技巧-發展運算思維(gg.gg/py-book )

Py- 書本檔案分享網址 : 原來:     gg.gg/py-book    < 萬一   gg.gg  連不上 > 可以連:  https://python-khcode.blogspot.com/p/python-apcs.html --------...