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

    


الگوریتم اعتبار سنجی کد ملی  :

تعریف کد ملی :  کد ملی شماره ای است 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 باشد کد ملی صحیح است.


در غیر اینصورت کد ملی وارد شده صحیح نمی باشد.