- Algorithm-ka Luhn wuxuu ansaxiyaa lambarada sida kaararka deynta iyo IMEI.
- Nadaafadeedu waxay ogaataa khaladaadka ku jira qoraalada tirada fudud.
- Waxaa si weyn loogu isticmaalaa nidaamka bangiyada iyo isgaarsiinta.
El Luhn algorithm, oo sidoo kale loo yaqaan "modulus of 10," waa qalab xisaabeed fudud laakiin faa'iido leh. Waxaa inta badan loo isticmaalaa Xaqiiji nambarada aqoonsiga, sida lambarrada kaararka deynta iyo lambarrada IMEI ee taleefanka gacanta. Naqshadeeyay 1954kii saynisyahan Hans Peter Luhn, wali waa mid hadda jira oo laga isticmaalo warshado badan.
Algorithm kani maaha kaliya mid aad waxtar u leh ogaanshaha Khaladaadka caadiga ah ee qoraalada tirada, laakiin sidoo kale waa la jaan qaada ISO/IEC 7812-1. Inkasta oo aan loo abuurin ujeedooyin qarsoodi ah, awoodda ay u leedahay in ay ka hortagto khaladaadka shilalka ayaa ka dhigaya qalab lagama maarmaan ah.
Waa maxay dhab ahaantii Luhn Algorithm?
Algorithm-ka Luhn waa hab ku salaysan xisaabaadka xisaabeed ee fudud Hubi ansaxnimada lambar. Inkasta oo dad badan ay ku xidhmaan kaararka deynta, waxaa sidoo kale loo isticmaalaa hababka kale ee u baahan xaqiijinta lambarada, sida IMEI taleefoonka gacanta, lambarada xisaabaadka bangiga iyo xitaa barcodes.
Asal ahaan loo sameeyay qaab makaanik ah oo loogu talagalay aaladaha, hirgelintiisu hadda waa dhijitaal. Nidaamku wuxuu ku lug leeyahay Isku dhufashada, isku dhufashada iyo hawlgalka 10, taasoo sahlaysa in lagu fuliyo luuqado kala duwan oo barnaamij ah.
Sidee buu u shaqeeyaa Luhn Algorithm?
Hawlgalka algorithm ee Luhn waxaa lagu sharxi karaa dhowr tillaabo, in kasta oo ay fududahay, haddana waxtar u leh ogaanshaha khaladaadka. Aynu tixgelinno inaan rabno inaan xaqiijinno lambar:
- Waxaan ka bilownaa nambarka ugu dambeeya ee nambarka waxaanan u dhaqaaqnaa bidix.
- Waxaan labanlaabeynaa nambar kasta oo labaad (tirinta dhanka midig).
- Haddii isku dhufashada ay keento tiro ka badan 9, waxaan ku darnaa lambarkeeda gaarka ah (tusaale, 14 waxay noqotaa 1+4=5).
- Waxaan ku darnaa dhammaan lambarrada la helay, kuwa la koobiyeeyay iyo kuwa sii hadhay labadaba.
- Lambarku waa ansax haddii wadarta guud ee modulo 10 waxay la mid tahay 0. Haddii kale, ma aha.
Tusaale ahaan, lambarka 79927398713 waxaa lagu xaqiijiyaa si sax ah iyadoo la adeegsanayo tillaabooyinka kore. Qaaciddada sidoo kale waxay kuu ogolaaneysaa inaad xisaabiso "check digit" ee loo baahan yahay si loo buuxiyo nambar aqoonsi oo sax ah.
Codsiyada dhabta ah ee Algorithm-ka Luhn
Ka mid ah codsiyada ugu caansan ee Luhn algorithm waxaan ka helnaa:
- Xaqiijinta Kaadhka Dareenka: Waxaa isticmaala soo saarayaasha sida Visa, Mastercard iyo American Express si loo xaqiijiyo nambarada kaadhka.
- Koodhadhka IMEI: Aaladaha gaarka ah ee aqoonsiga waxa ku jira lambar xaqiijin ah oo la xisaabiyay iyadoo la isticmaalayo Luhn.
- Nidaamyada bangiyada: Xaqiijinta xisaabaadka iyo lambarada macaamiisha.
- Qalabka khadka: Xisaabiyeyaasha iyo qoraallada si dhakhsa leh u ansixiya tirooyinka iyagoo isticmaalaya qaacidadan.
Kala duwanaanshiyahan ayaa ka dhigaya algorithmamka Luhn heer ka mid ah nidaamyada u baahan xaqiijinta tirooyin la isku halayn karo.
Xaddidaadda Algorithm-ka
Inkasta oo ay faa'iido leedahay, Luhn's algorithm ma aha mid khaldan. Tusaale ahaan:
- Ma ogaanayso is beddello kakan, sida beddelashada 09 ee 90.
- Looma talagelin inay ka ilaaliso xad gudubka ula kac ah ama khiyaamo.
- Waxay ku kooban tahay xargaha tirada, in kasta oo ay jiraan kordhin lagu daro xarfaha alfanumeric.
Xaddidaadahan ayaa ka dhigaya mid ku habboon in la ogaado khaladaad shil ah, buuxinta hababka kale ee amniga si loo ilaaliyo xogta xasaasiga ah.
Hirgelinta Barnaamijyada
Algorithm-ka si fudud ayaa loo hirgelin karaa ku dhawaad luqad kasta oo barnaamij ah. Hoos waxaa ku yaal tusaale qayb ka mid ah Python:
def validate_luhn (lambar): wadar = 0 toggle = Been ah nambarka rogan (lambar): d = int (nambar) haddii la beddelo: d *= 2 haddii d> 9: d -= 9 wadar += d toggle = ha beddelin wadarta celinta % 10 == 0
Koodhkan aasaasiga ahi waxa uu u qaataa xadhig ahaan gelinta ahaan oo soo celinaya qiimaha boolean oo muujinaya in nambarku sax yahay marka loo eego Luhn.
Algorithm-ka Luhn ayaa weli ah aalad lagama maarmaan u ah adduunka casriga ah, gaar ahaan warshadaha u baahan in ay si degdeg ah oo hufan u ansixiyaan lambarrada aqoonsiga. **fududnimadeeda** iyo ** utility wax ku ool ah** waxay xaqiijisteen booskeeda heer caalami ah. Fahamka sida ay u shaqeyso iyo sida loo isticmaalo ayaa noo ogolaaneysa inaan qiimeyno saameynta ay ku leedahay nolol maalmeedkeena.