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