推 JimAbbott: Android @.@ 08/18 15:45
→ jurian0101:所以所有Android手機都有囉 08/18 16:14
推 pphhxx:如果經過的點不同 但是產生的圖形相同 算同or不同? 08/18 18:53
→ puzzlez:從密碼的角度來看,當然不同 08/18 19:10
推 Favonia:所以不能重複經過同一點對不對? 08/18 23:52
→ puzzlez:樓上問得好!我都沒有想到... 08/19 05:49
推 RichardHan:我不會算,但我想聽結果~有人算出來了嗎 08/19 11:07
推 LPH66:能重覆的話就算不完啦... 08/19 18:09
→ jurian0101:不能經過同一點 可以在點以外的地方交叉 只能在點轉彎 08/19 20:44
→ jurian0101:轉到數學板廣招英雄試試看XD 08/19 21:08
※ jurian0101:轉錄至看板 Math 08/19 21:09
推 LPH66:話說你在 Math 版給出的 182944 好像不太對... 08/20 12:15
→ LPH66:我的程式跑出來是至少四點的共 139880 種 08/20 12:16
→ LPH66:而不管點數全部算進去的話是 140249 種 08/20 12:16
→ jurian0101:我自勘就發現有錯了 08/20 15:58
推 Favonia:140250,140249,140240,140184,139880,138480,133152, 08/21 02:01
→ Favonia:117120,81792,32256 08/21 02:01
→ jurian0101:Mathmatica驗證出來了,兩位答案140249 (不限點數)和 08/22 03:10
→ jurian0101:139880(限4~9點) 正確!! ...起碼和四色定理一樣正確XD 08/22 03:12
→ Favonia:樓上介意讓我看程式碼多短嗎xD 我對簡潔的程式很有興趣xD 08/22 04:55
1 2 3
4 5 6
7 8 9
話說Math板有人提醒,我才發現Android的正版螢幕鎖允許2-5-8-6---4這樣的連結
不想改了直接無視。搞操煩啦!!
這裡就當作禁止出現 13/17/19/31/37/39/71/73/79/91/93/97/46/64/82/28 這16個
"規則"好了
LPH66和Favonia一定同意 :D
- - -
Mathematica: 以下為Input
set = Permutations[{"1", "2", "3", "4", "5", "6", "7", "8", "9"}, {4, 9}];
(*生出排列*)
stringset = Array[StringJoin[set[[#]]] &, Length[set]];
(*更改一下形式*)
S[x_, y_] := StringMatchQ[x, y];
(*只是嫌函數太長的代換*)
rule = Not[#] & /@ (S[#, ___ ~~ "13" ~~ ___] ||
S[#, ___ ~~ "17" ~~ ___] || S[#, ___ ~~ "19" ~~ ___] ||
S[#, ___ ~~ "31" ~~ ___] || S[#, ___ ~~ "37" ~~ ___] ||
S[#, ___ ~~ "39" ~~ ___] || S[#, ___ ~~ "71" ~~ ___] ||
S[#, ___ ~~ "73" ~~ ___] || S[#, ___ ~~ "79" ~~ ___] ||
S[#, ___ ~~ "91" ~~ ___] || S[#, ___ ~~ "93" ~~ ___] ||
S[#, ___ ~~ "97" ~~ ___] || S[#, ___ ~~ "28" ~~ ___] ||
S[#, ___ ~~ "82" ~~ ___] || S[#, ___ ~~ "46" ~~ ___] ||
S[#, ___ ~~ "64" ~~ ___] & /@ stringset);
(*將16個規則map到stringset,再取Not*)
Length[Pick[stringset, rule]]
(*Pick根據rule把stringset裡所有「不犯規」的組合挑出來,以利萬一要揪錯所用,
輸出挑出來集合的大小*)
※ 編輯: jurian0101 來自: 218.164.5.102 (08/22 19:07)
推 Favonia:了解,謝謝提供! 08/22 23:26