今天我們也要來解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])
以上是解答,然後今天所用到的語法不多,但是需要大量的思考,大家可以來想想看!我也有把解釋放旁邊,大家可以參考。