Python Code: import random def hand():#手動輸入HT的初始狀態 global A #A用全域變數 後面才讀得到 A=[x for x in input()] def givenumber(): #給一個正整數,找出H跟T n=int(input()) B=[] global A global h1 # 'H'面朝上的次數 A=[] h1=0 for i in range(n): B.append(random.randrange(0,2*n)) for j in range(n): if (B[j]%2)==0: A.append('H') else: A.append('T') print(A) #hand() givenumber() for i in range(1000): flag=0 #T面的個數,當flag等於len(A),即全為T時,停止 for j in range(len(A)): if A[j]=='T': flag+=1 if flag==len(A): print(i)#輸出第幾次操作可得到全為T break h=0#計算幾個h面朝上 for k in range(len(A)): if A[k]=='H': h+=1 if A[h-1]=='H':#從左邊數來,將第h枚翻過來 A[h-1]='T' else: A[h-1]='H'