首頁(yè) 現(xiàn)實(shí)

數(shù)學(xué)心

第一百四十八章 米勒拉賓素性測(cè)試(計(jì)算數(shù)論)

數(shù)學(xué)心 蔡澤禹 382 2020-05-28 06:07:29

  對(duì)于一個(gè)數(shù)n,如果想要判斷它是否為素?cái)?shù),常規(guī)的方法為試除法。即,讓n依次除以2到sqrt(n)以內(nèi)的整數(shù)。如果有出現(xiàn)除盡的情況,則為合數(shù)。

  該方法的時(shí)間復(fù)雜度為O(sqrt(n))在面對(duì)n為長(zhǎng)整型的時(shí)候有可能超出時(shí)間要求。因此普遍采用米勒拉賓算法進(jìn)行素性判定。

  在此之前介紹一種偽素?cái)?shù)判定方法——小費(fèi)馬定理。

  但沒有米勒拉賓素性測(cè)試快。

  米勒拉賓素性測(cè)試是:

  判斷一個(gè)數(shù)p是否為素?cái)?shù)

  p首先得為大于等于2的正整數(shù)才有可能為素?cái)?shù),

  首先判奇偶,若為偶數(shù)只有2為素?cái)?shù),

  若為奇數(shù)(這里可以考慮去掉 3甚至5的倍數(shù)),則先求出d。

  對(duì)于每一個(gè)底a,讓d不斷乘以2直到為(p-1)/2,

  在此過程中(包括原本的d與d=(p-1)/2時(shí)的情況),

  設(shè)t為 a的d次方模p的余數(shù),

  (1)當(dāng)t=-1時(shí)跳出,聲明p有可能為素?cái)?shù)

 ?。?)當(dāng)t=1時(shí),若d為奇數(shù),跳出聲明p有可能為素?cái)?shù),否則跳出聲明p必為合數(shù)

 ?。?)當(dāng)d=(p-1)/2時(shí)跳出,聲明p必為合數(shù)。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁(yè)
返回書頁(yè)
指南