الگوریتم لان: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Ebads67 (بحث | مشارکت‌ها)
جزبدون خلاصۀ ویرایش
Ebads67 (بحث | مشارکت‌ها)
خط ۴:
==نفاط قوت و ضعف==
الگوريتم لان همه خطاهاي تك رقمي را تشخيص مي دهد، و همينطور جابجا شدن دو رقم كنار هم را. ولي جابجايي 09 به 90 و برعكس را نمي تواند تشخيص بدهد. و همينطور 7 تا از 10 تا خطاي دوقلو را مي تواند تشخيص دهد(اين موارد را تشخيص نمي دهد: 22 به 55و 33 به 66 يا 44 به 77).
الگوريتم هاي پيچيده تر مانند الگوريتم [http://en.wikipedia.org/w/index.php?title=Verhoeff_algorithm&oldid=446858849 Verhoeff] مي توانند خطاهاي جابجايي بيشتري را تشخيص دهند. الگوريتم [[http://en.wikipedia.org/wikiw/index.php?title=Luhn_mod_N_algorithm|&oldid=449928878 Luhn mod N‌]] تعميم اين الگوريتم براي رشته هاي غير عددي مي باشد.
به دليل اينكه اين الگوريتم به ترتيب راست به چپ روي ارقام عمل مي كند و رقم هاي صفر فقط در صورتي كه باعث تغيير مكان شوند نتيجه را تغيير مي دهند، اضافه كردن صفر به اول يك رشته عددي محاسبات را تغيير نمي دهد. بنابراين، اجراي الگوريتم لان قبل و بعد از اضافه كردن چند رقم صفر به اول رشته نتيجه يكساني خواهد داشت.
 
==توضيح غير رسمي==
اين فرمول يك عدد را در برابر رقم تطبيق آن درستي يابي مي كند،‌ كه عموما به بك شماره حساب پاره اي به منظور توليد شماره حساب كامل اضافه مي شود. اين شماره حساب بايد تست زير را پاس كند: