-4
我想通過python實現Ferment的小定理。然而,返回的價值並不能給我一個黃金。任何幫助表示讚賞。道歉,這個定理指出,如果一個數字是素數,那麼任意數字產生的數量少於它給pow(a,value,x)== 1的隨機次數。下面的代碼是它的一個實現。費馬的小定理python
代碼的目的是爲函數生成位創建一個16位整數,並通過定理運行它來證明它是否爲素數,如果其爲素數,則返回值,如果不調用該函數generatebit()再次。感謝您花費的時間
import random
def generatebit():
x = random.getrandbits(16)
x = int(x)
if little(x):
return x
def little(x):
value = x -1
for i in xrange(50000):
# check for a total of 50000 times to reduce chances
a = random.getrandbits(15)
if pow(a,value,x) != 1:
generatebit()
break
return True
a=generatebit()
print a
我想你會大大延長您的目標受衆,如果你插入一個什麼發酵的小定理不小的段落,你會因此想到,你會得到什麼,而不是... – Nicolas78
請修正縮進,使你的代碼是至少可運行 – Pavel
你的意思[費馬小定理(HTTP:// en.wikipedia.org/wiki/Fermat's_little_theorem),不是嗎? – Pavel