با استفاده از این الگوریتم می توانید تشخیص دهید که کاربر کد ملی معتبر را وارد نموده یا خیر

الگوریتم اعتبار سنجی کد ملی :
تعریف کد ملی : کد ملی شماره ای است 10 رقمی که از سمت چپ سه رقم کد شهرستان، شش رقم بعدی کد منحصر به فرد برای فرد دارنده و رقم آخر آن هم یک رقم کنترلاست که از روی 9 رقم سمت چپ بدست می آید. برای بررسی کنترل کد کافی است مجدد از روی 9 رقم سمت چپ رقم کنترل را محاسبه کنیم در ضمن رقم اول و رقم دوم از سمت چپ کد ملی ممکن است صفر باشد.
نکته1: همه کدهای ملی ۱۰ رقمی هستند.
نکته2: کدهای ملی که همه ارقام آنها مثل هم باشند معتبر نیستند.
****
گام اول : دهمین رقم شماره ملی را ( از سمت چپ ) به عنوان A در نظر می گیریم.
گام دوم : یک مقدار B در نظر می گیریم و آن را برابر با )اولین رقم * 10 ) + ( دومین رقم * 9 ) +
( سومین رقم * 8 ) + ( چهارمین رقم * 7 ) + ( پنجمین رقم * 6 ) + ( ششمین رقم * 5 ) +
( هفتمین رقم * 4 ) + ( هشتمین رقم * 3 ) + ( نهمین رقم * 2 ) قرار می دهیم.
گام 3 : مقدار C را برابر با B – (B/11)*11 قرار می دهیم.
گام 4 : بررسی شرطهای زیر
اگر مقدار C برابر با صفر باشد و مقدار A برابر C باشد کد ملی صحیح است.
اگر مقدار C برابر با 1 باشد و مقدار A برابر با 1 باشد کد ملی صحیح است.
اگر مقدار C بزرگتر از 1 باشد و مقدار A برابر با 11 - C باشد کد ملی صحیح است.
در غیر اینصورت کد ملی وارد شده صحیح نمی باشد.