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'
import math as lp start=101 end=1232 def isprime(p): for i in range(2,int(p**0.5)+1): if (p%i)==0: return 1 #合數 break else: return 0 #質數 flag=0 for i in range(1000):#應到1100 for j in range(1,13):#月份 for k in range(20000000+i*10000+j*100+1,20000000+i*10000+j*100+32,2): digit=int(lp.log10(k)) ans=k p=[] r=[] p.append(isprime(k)) for l in range(digit,0,-1): p.append(isprime(k%(10**l))) k=k%(10**l) r.append(k) #存入個位數,注意1不是質數 q=set(p) q=list(q) if len(q)==1 and q[0]==0 and r[0]!=1: flag+=1