今天我們也要來解APCS的題目,今天是105年10月29的實作題第三題,那我們就開始吧!
a=input().split() #此輸入N M K
N=int(a[0])
M=int(a[1])
K=int(a[2])
list=[]
x=0
for i in range(1,N+1): #建立一個1到N的清單,例:N=5,建立[1,2,3,4,5]
list.append(i)
for j in range(0,K): #此迴圈運行K次,將已爆炸的數字刪除
if (M+x)>N: #如果下個要爆炸的排序過遠,就要取餘數,要不然會超出清單
del list[((M+x)%N-1)]
x=(M+x)%N-1
else:
del list[(M+x)-1]
x=(M+x)-1
N=N-1 #N為清單中個數
if x==N: #打印出上次爆炸的下一個數字
print(list[0])
else:
print(list[x])
以上是解答,然後今天所用到的語法不多,但是需要大量的思考,大家可以來想想看!我也有把解釋放旁邊,大家可以參考。