JavaScript GCD algorithm ၏ အဓိကပြဿနာမှာ တွက်ချက်ရန် အချိန်ကြာမြင့်နိုင်သည်။
function gcd(a, b) { if (b == 0) { return a; } else { return gcd(b, a % b); } }
၎င်းသည် Euclid ၏ အယ်လဂိုရီသမ်ကို အသုံးပြု၍ ဂဏန်းနှစ်လုံး၏ အကြီးကျယ်ဆုံး ဘုံပိုင်းခြားမှုကို တွက်ချက်ရန် recursive function တစ်ခုဖြစ်သည်။
b သည် 0 နှင့် ညီမျှပါက GCD သည် a နှင့် ညီမျှသည်။ မဟုတ်ပါက၊ GCD သည် b ၏ GCD နှင့် ညီမျှပြီး အကြွင်းကို b ဖြင့် ပိုင်းထားသည်။
အကြီးမြတ်ဆုံးဘုံ Dividor
ကိန်းပြည့် နှစ်ခု၏ အကြီးမြတ်ဆုံး ဘုံကိန်းတန်း (GCD) သည် အကြွင်းတစ်ခု မကျန်ဘဲ ကိန်းပြည့် နှစ်ခုလုံးကို ပိုင်းခြားသည့် အကြီးဆုံး ကိန်းပြည့်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ GCD သည် 12 နှင့် 24 သည် 6 ဖြစ်သည်။
သင်္ချာစာကြည့်တိုက်များ
JavaScript တွင် သင်္ချာကို အထောက်အကူ ပြုနိုင်သော စာကြည့်တိုက် အနည်းငယ် ရှိပါသည်။ တစ်ခုက Math.js ဖြစ်ပြီး အခြေခံသင်္ချာလုပ်ဆောင်ချက်များနှင့် အရာဝတ္ထုများစွာကို ပံ့ပိုးပေးပါသည်။ နောက်တစ်ခုကတော့ numeral.js ဖြစ်ပြီး၊ ကိန်းဂဏာန်းလုပ်ဆောင်ချက်တွေနဲ့ အရာဝတ္ထုတွေကို ကျယ်ကျယ်ပြန့်ပြန့် ထောက်ပံ့ပေးပါတယ်။
JavaScript တွင် ပြန်ယူခြင်း
Recursion သည် လုပ်ဆောင်ချက်တစ်ခုကို သူ့ဘာသာသူခေါ်ရန် ခွင့်ပြုသည့် ပရိုဂရမ်တည်ဆောက်မှုတစ်ခုဖြစ်သည်။ တစ်နည်းဆိုရသော် ၎င်းသည် function တစ်ခုအား ၎င်း၏ကိုယ်ပိုင်အဓိပ္ပါယ်ဖြင့် ရည်ညွှန်းရန်ခွင့်ပြုသည်။ Recursion ကို ပြဿနာများဖြေရှင်းရန် သို့မဟုတ် အချို့သောပန်းတိုင်များအောင်မြင်ရန် အသုံးပြုနိုင်သည်။
ပြန်ရှာခြင်း၏ အသုံးများသော အသုံးတစ်ခုမှာ loops များကို အသုံးပြု၍ ပြဿနာများကို ဖြေရှင်းပေးသည့် algorithms တွင်ဖြစ်သည်။ ဥပမာအားဖြင့် Fibonacci sequence ကို recursive algorithm ဖြင့် ဖြေရှင်းနိုင်သည်။ အယ်လဂိုရီသမ်သည် ပထမအကြိမ် Fibonacci နံပါတ်ကို တွက်ချက်ခြင်းဖြင့် စတင်ကာ ပထမအကြိမ် တွက်ချက်မှုရလဒ်အပေါ် အခြေခံ၍ ဒုတိယအကြိမ် Fibonacci နံပါတ်ကို တွက်ချက်သည်။ အစီအစဥ်သည် ကြိုတင်သတ်မှတ်ထားသော ကန့်သတ်ချက်သို့ မရောက်မချင်း သို့မဟုတ် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်သည်အထိ ဤလုပ်ငန်းစဉ်ကို ထပ်ခါတလဲလဲ လုပ်ဆောင်သည်။
စာရင်းများနှင့် arrays များပါ၀င်သော ပြဿနာများကို ဖြေရှင်းရန်အတွက်လည်း ထပ်ခါတလဲလဲ လုပ်ဆောင်ချက်များကို အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ သင်သည် 2 နှင့် 100 ကြားရှိ ကိန်းဂဏန်းများအားလုံးကို ရှာဖွေလိုသည်ဆိုပါစို့။ ၎င်းကိုလုပ်ဆောင်ရန် loop တစ်ခုကို သင်အသုံးပြုနိုင်သော်လည်း လုပ်ဆောင်ရန် အချိန်အနည်းငယ်ကြာမည်ဖြစ်သည်။ ယင်းအစား၊ လုပ်ဆောင်ချက်တစ်ခုတည်းကို အသုံးပြု၍ 2 နှင့် 100 ကြား ကိန်းဂဏန်းများအားလုံးကို တွက်ချက်ရန် recursion ကို အသုံးပြုနိုင်သည်။
Java တွက်ချက်မှုကုဒ်အတွက် ကျေးဇူးတင်ပါသည်၊ ၎င်းကို ကျွန်ုပ်၏ ဝဘ်ဆိုဒ်တွင် အမြန်ဆုံး အသုံးပြုပါမည်။
ကောင်းသောနေ့များဖြစ်ပါစေ…