နံပါတ်သီအိုရီတွင် Lucas-Lehmer Primality Test သည် Mersenne နံပါတ်သည်ချုပ်မရှိမရှိဆုံးဖြတ်ရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးတွင် Lucas-Lehmer Primality Test ကိုအကောင်အထည်ဖော်ရန်နှင့်ပြည့်စုံသောကုဒ်ကိုအကောင်အထည်ဖော်ရန်အတွက် PHP ဘာသာစကားနှင့် GMP extension ကိုပေါင်းစပ်ပါမည်။
Lucas-Lehmer Primality Test သည် Mersenne အရေအတွက် MERENE နံပါတ် = 2 ^ n-1 သည် PRESTION ဖြစ်သည်။ ထိုအရာသည် 1 ထက်ပိုသောအပြုသဘောဆောင်သောကိန်းဂဏန်းဖြစ်သည်။ စမ်းသပ်မှုသည် Lucas-Lehmer sequence ကိုအခြေခံသည်။ ၎င်းသည် sequence ၏ဒြပ်စင်တစ်ခုစီကိုပိုမိုတွက်ချက်သည်။ နောက်ဆုံးတွင် sequence ၏နောက်ဆုံး element သည်သုညဖြစ်သည်,
PHP ၏ built-in function များသည်အလွန်ကြီးမားသောကိန်းဂဏန်းများကိုမကိုင်တွယ်နိုင်သဖြင့် GMP extension ကိုလိုအပ်သည်။ PHP ကို install လုပ်သည့်အခါ GMP extensions enable လုပ်ထားသည့်ဗားရှင်းကိုရွေးချယ်နိုင်သည်သို့မဟုတ်သင်၏လက်ရှိပတ်ဝန်းကျင်တွင် GMP တိုးချဲ့မှုများကိုဖွင့်နိုင်သည်။
function lucaslehmittest ($ n) { $ s = '4'; $ m = gmp_pow ('2', $ n) - '1', အတွက် ($ i = 1; $ i <$ n - 1; $ i ++) $ s = GMP_MOD (GMP_POW ($ S, 2) - 2, $ m); } လျှင် ($ s == '0') { စစ်မှန်ပါလိမ့်မည် } တုံ့ပြန်ပါ။ }
ခွဲခြမ်းစိတ်ဖြာခြင်း
Function တွင် GMP_POW သည်ဒေါ်လာ M $ ရရှိရန်အတွက်ဒေါ်လာ 2 ဒေါ်လာဖြင့်ရနိုင်ရန်အတွက် 2 ကြိမ်မြောက်အသုံးပြုမှုကိုတွက်ချက်ရန်အသုံးပြုသည်။ Lucas-Lehmer Sequence ကိုတွက်ချက်ရန် $ N-1 Times မှဒေါ်လာ 1 ကြိမ်ဖြင့်အသုံးပြုသည်။
$ Exponentent = [2, 3, 5, 7, 13, 17]; foreach ($ Exponent အဖြစ် $ questents) { $ ရလဒ် = Lucaslehmittest ($ Exponon); လျှင် ($ ရလဒ်) { ECHO "2 ^ $ Exponent - 1 သည်အဓိကနံပါတ်ဖြစ်သည်။ "; } အခြား ECHO "2 ^ $ Exponent - 1 သည်အဓိကနံပါတ်မဟုတ်ပါ။ "; } }
ခွဲခြမ်းစိတ်ဖြာခြင်း
ထပ်ဆင့်ထပ်ကိန်းများပါ 0 င်သော array array array များကိုသတ်မှတ်ပြီး Test Resultions မှ output တရားစီရင်ရေးဆိုင်ရာအချက်အလက်များအတွက် Lucas-Lehmer Primer Prince function ကိုအသုံးပြုပါ။
PHP နှင့် GMP extensions များမှတဆင့်သင်သည် Lucas-Lehmer Primality Test ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ကြီးမားသော Mesenne နံပါတ်များကိုအခြေခံသည့်အခြေခံဥပဒေအရ Lucas-Lehmer algorithm သည်ပိုမိုထိရောက်ပြီးရလဒ်များကိုအလျင်အမြန်ရရှိနိုင်သည်။ ဤဆောင်းပါးတွင်ဖော်ပြထားသောသင်္ကေတများကိုလက်တွေ့ကျကျရည်ညွှန်းအဖြစ်အသုံးပြုနိုင်သည်။