如何快速檢查素數的素性演算法,如何快速檢查一個素數的素性(演算法)

時間 2021-08-11 17:54:45

1樓:hi漫海

現在,確定性素數判定法已經有很多種,常用的有試除法、威廉斯方法、艾德利曼和魯梅利法。它們的適用範圍各不相同,威廉斯方法比較適合10^20到10^50之間的數,艾德利曼和魯梅利法適合大於10^50的數,對於32位機器數,由於都小於10^10,所以一般都用試除法來判定。

阿格拉瓦法雖然是log(n)的多項式級演算法,但目前只有理論上的意義,根本無法實用,因為它的時間複雜度是o(log(n)^12),這個多項式的次數太高了。就拿最慢的試除法跟它來比吧,試除法的時間複雜度為o(n^(1/2)*log(n)^2),當n = 16時,log(n)^12 = 16777216,而n^(1/2)*log(n)^2 = 64,你看相差有多麼大!如果要讓兩者速度相當,即log(n)^12 = n^(1/2)*log(n)^2,得出n = 10^43.

1214,此時需要進行的運算次數為log(n)^12 = 10^25.873(注意:本文中log()函式預設以2為底),這樣的運算次數在一臺主頻3ghz的計算機上執行也要10^8.

82023年才能執行完,除了這些確定性素數判定法外,還有基於概率的非確定性素數判定法,最常用的就是米勒-拉賓法。

如何快速高效學習?如何快速高效的學習?

您好。快速高效學習一定是需要上課仔細聽課的,多記筆記,寫作業的時候就不會耽誤太多的時間,利用這些時間去預習第二天的新知識。週而復始。如何快速高效的學習?如何才能高效學習?1 學習上要有明確的學習計劃表。拿到學校的課程表後,便能模擬課程表安排好每天課餘時間學習計劃表,列出每天的學習科目和學習時間段,並...

如何快速的學習英語?如何快速學習英語?

亦友心得,很高興與你交流。只能在課本上下功夫。學英語的好方法 首先是課本問題,不知你的基礎怎樣,要先學好教材。第二,選擇學習方法。現在條件很豐富。上英語班,網上學習,找朋友學習,互學。總之找到適合自己的學習方式。第三,前兩個問題解決後,制定自己的學習計劃,紮紮實實地幹,不求快,求紮實,自然會快起來。...

如何才能快速的長高,如何才能快速長高

前提是你多大,一般人到20歲左右,骨骼會自然閉合,人就沒有自然增高的空間了。此時想增高,只能通過藥物激發才能夠達到增高的效果,就是使用生長激素。生長激素可促進骨骸 肌肉 結締組織和內臟的增長 使身體長高。如果生長激素分泌過多,會成 巨人 或 肢端肥大症 分泌過少,則成 侏儒症 前市場上銷售的很多所謂...