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'
沒有留言:
張貼留言