APCS大學程式設計先修檢測(2016/10/29)第3題
本帖最後由 ray 於 2022-6-5 16:51 編輯
//使用 link list的演算法
#n,m,k
#[[0,1,2],[1,2,2],[2,3,3],[3,4,4],[4,5,0]]
c = []
for i in range(n-1)
t = []
t.append(i+1)
t.append(i+1)
c.append(t)
t = []
t.append(n)
t.append(0)
c.append(t)
pre = n - 1
now = 0
i = 0
count = 0
while i < k:
count = count + 1
if count == m:
c[pre][1] = c[now][1]
count = 0
i = i + 1
pre = now
now = c[now][1]
print(c[now][0])
---------------------------------------------------------------------------
//使用數學計算的倒推結果法:
l = 0
for i in range(n-k+1,n+1,1):
l = (m + l) % i
print(l+1)
n=8,m=3,k=6的倒推結果
PS.上課時被最後炸掉的x搞混了,我有增加註解,你們可以看看應該比較清楚
----------------------------------------------------------------------------
數學計算法的影片在這 |