作者 |
標題: 如何將自然數1~8排在圓周上,使得每一個數字被相鄰兩數差所整除? |
瑪莉 |
發表於: 2020/4/17 上午 12:26:37
如何將自然數1~8排在圓周上,使得每一個數字被相鄰兩數差所整除?
|
Lopez |
回覆於: 2020/4/17 上午 01:47:38
有8組解: 14372865 15273846 16243587 16423587 16425387 16453827 16483527 17264538
|
瑪莉 |
回覆於: 2020/4/17 上午 02:54:58
請教老師,可有列式供參考.
|
Lopez |
回覆於: 2020/4/17 下午 12:12:52
用數學方法算出所有解,我不會.
上述8組解,我用半程式半人工的方法求得,步驟如下: Step 1. 直線排列,列出8!=40320組解. Step 2. 分別驗證各組解,每一個數字是否被相鄰兩數差所整除. Step 3. 環狀排列,剔除重複者(例:14372865與43728651屬類似解,剔除後者) Step 4. 順時針與逆時針屬類似解,剔除重複者(例:16453827與17283546屬類似解,剔除後者) 前兩步驟工程浩大,寫程式算出比較有效率,有128組解; 後兩步驟的程式較難寫,故採人工剔除,僅需10分鐘左右.
|
小昭 |
回覆於: 2024/8/30 下午 01:36:37
設f(n)代表n的相鄰兩數差 f(1)=1 有六種 12xxxxx3 13xxxxx4 14xxxxx5 15xxxxx6 16xxxxx7 17xxxxx8
|
瑪莉 |
回覆於: 2020/4/18 上午 12:23:12
謝謝老師,雖然我不懂程式 a1,a2,a3,a4,a5,a6,a7,a8 k1(a1-a3)=a2 k2(a5-a3)=a4 a4-a2=k2a5-a3(k2+k1)-k1a1 k2a5-k1a1是a3的倍數 ~接下來毫無頭緒了
|
小昭 |
回覆於: 2024/8/30 下午 01:46:23
case one:當17xxxxx8時 f(7)=1 (因為8已用,f(7)<>7) 172xxxx8 f(2)=1,2 有兩種 1725xxx8 1726xxx8 f(5)=1,f(6)=1,2,3 (因為7已用,f(5)<>5) (因為8已用,f(6)<>6) 有四種 17253xx8 (餘下4,6未用) 17263xx8 (餘下4,5未用) 17264xx8 (餘下3,5未用) 17265xx8 (餘下3,4未用) 將餘下數字代入,得 17264538 所以當17xxxxx8時,有1解
|
小昭 |
回覆於: 2024/8/30 下午 01:50:20
case two:當16xxxxx7時 f(6)=1,2,3 (因為7已用,f(6)<>6) 有三種 162xxxx7 163xxxx7 164xxxx7
|
小昭 |
回覆於: 2024/8/30 下午 01:58:00
case 2.1:當162xxxx7時 f(7)=7 (因為2已用,f(7)<>1) 162xxx87 f(2)=1,2 有兩種 1624xx87 (餘下3,5未用) 1625xx87 (餘下3,4未用) 將餘下數字代入,得 16243587 所以當162xxxx7時,有1解
|
小昭 |
回覆於: 2024/8/30 下午 02:03:00
case 2.2:當163xxxx7時 f(3)=1 (因為3已用,f(3)<>3) 1635xxx7 f(7)=1,7 有兩種 1635xx27 (餘下4,8未用) 1635xx87 (餘下2,4未用) 將餘下數字代入,得無解 所以當163xxxx7時,無解
|
小昭 |
回覆於: 2024/8/30 下午 02:10:15
case 2.3:當164xxxx7時 f(7)=1,7 有兩種 164xxx27 164xxx87 f(4)=1,2,4 有四種 1645xx27 (餘下3,8未用) 1648xx27 (餘下3,5未用) 1642xx87 (餘下3,5未用) 1645xx87 (餘下2,3未用) 將餘下數字代入,得 16423587 16425387 16453827 16483527 所以當164xxxx7時,有4解
|
小昭 |
回覆於: 2024/8/30 下午 02:10:15
case 2.3:當164xxxx7時 f(7)=1,7 有兩種 164xxx27 164xxx87 f(4)=1,2,4 有四種 1645xx27 (餘下3,8未用) 1648xx27 (餘下3,5未用) 1642xx87 (餘下3,5未用) 1645xx87 (餘下2,3未用) 將餘下數字代入,得 16423587 16425387 16453827 16483527 所以當164xxxx7時,有4解
|
小昭 |
回覆於: 2024/8/30 下午 02:15:38
case three:當15xxxxx6時 f(5)=1 (因為6已用,f(5)<>5) 152xxxx6 f(2)=1,2 有三種 1523xxx6 1524xxx6 1527xxx6
|
小昭 |
回覆於: 2024/8/30 下午 02:19:12
case 3.1:當1523xxx6時 因為1,3已用,f(3)<>1 因為5已用,f(3)<>3 f(3)=無 所以當1523xxx6時,無解
|
小昭 |
回覆於: 2024/8/30 下午 02:23:33
case 3.2:當1524xxx6時 f(4)=1 (因為4已用,f(4)<>2) (因為6已用,f(4)<>4) 15243xx6 將餘下7,8代入,得無解 所以當1524xxx6時,無解
|
小昭 |
回覆於: 2024/8/30 下午 02:26:52
case 3.3:當1527xxx6時 f(7)=1 15273xx6 將餘下4,8代入,得 15273846 所以當1527xxx6時,有1解
|
小昭 |
回覆於: 2024/8/30 下午 02:30:39
case four:當14xxxxx5時 f(4)=1,2 (因為5已用,f(4)<>4) 有兩種 142xxxx5 143xxxx5
|
小昭 |
回覆於: 2024/8/30 下午 02:36:51
case 4.1:當142xxxx5時 f(5)=5 (因為2已用,f(5)<>1) 142xxx65 f(2)=1 (因為2,6已用,f(2)<>2) 1423xx65 將餘下7,8代入,得無解 所以當142xxxx5時,無解
|
小昭 |
回覆於: 2024/8/30 下午 02:42:54
case 4.2:當143xxxx5時 f(3)=3 (因為3,5已用,f(3)<>1) 1437xxx5 f(7)=1 14372xx5 將餘下6,8代入,得 14372865 所以當143xxxx5時,有1解
|
小昭 |
回覆於: 2024/8/30 下午 02:50:18
case five:當13xxxxx4時 f(3)=1 (因為4已用,f(3)<>3) 132xxxx4 f(2)=2 (因為2,4已用,f(2)<>1) 1325xxx4 f(5)=5 (因為1,3已用,f(5)<>1) 13257xx4 將餘下6,8代入,得無解 所以當13xxxxx4時,無解
|
小昭 |
回覆於: 2024/8/30 下午 02:54:07
case six:當12xxxxx3時 因為2已用,f(2)<>1 因為3已用,f(2)<>2 f(2)=無 所以當12xxxxx3時,無解
|
小昭 |
回覆於: 2024/8/30 下午 02:57:49
答案共有8個 14372865 15273846 16243587 16423587 16425387 16453827 16483527 17264538
|