| Petrovic a întrebat:

Care este algoritmul de verificare a cifrei de control din CNP?

5 răspunsuri:
| cristimihailov a răspuns:

Ai testat de mana sau ai facut o mica aplicatie?

Daca ai facut o mica aplicatie ia in calcul ca pe net se plimba doua variante de calculat cifra, una corecta, una incorecta.

| Petrovic explică (pentru cristimihailov):

Trebuie să fac un program.

| MihaiNicu23 a răspuns:

|S| |AA| |LL| |ZZ| |JJ| |ZZZ| |C|

|C| - cifra de control

|ZZZ| - numarul de ordine atribuit persoanei

|JJ| - codul judetului

|ZZ| - ziua nasterii

|LL| - luna nasterii

|AA| - anul nasterii

|S| - Cifra sexului (M/F) pentru:

1/2 - cetateni romani nascuti intre 1 ian 1900 si 31 dec 1999

3/4 - cetateni romani nascuti intre 1 ian 1800 si 31 dec 1899

5/6 - cetateni romani nascuti intre 1 ian 2000 si 31 dec 2099

7/8 - rezidenti

9 - persoanele cu cetatenie straina


Algoritmul de validare al unui cod CNP

Pas Preliminar: Se testeaza daca codul respecta formatul unui cod CNP. Adica prima cifra sa fie cuprinsa in intervalul 1 - 6 sau sa fie 9 pentru straini. Urmatoarele sase cifre trebuie sa constituie o data calendaristica valida in formatul AALLZZ.

Pas 1: Se foloseste cheia de testare "279146358279". Primele douasprezece cifre se inmultesc pe rand de la stanga spre dreapta cu cifra corespunzatoare din cheia de testare.

Pas 2: Cele douasprezece produse obtinute se aduna si suma obtinuta se imparte la 11.

- daca restul impartirii la 11 este mai mic ca 10, atunci acesta va reprezenta cifra de control.

- daca restul impartirii este 10 atunci cifra de control este 1.

Pentru un CNP valid cifra de control va trebui sa coincida cu cifra de pe pozitia treisprezece din CNP-ul initial.

| Petrovic explică (pentru MihaiNicu23):

Se pare că toată familia (9 oameni) avem CNP incorect.

| Lioana a răspuns (pentru Petrovic):

Nu cred ca aveti CNP incorect. Atentie: daca faci impartirea cu calculatorul nu iti arata restul la impartire ci un numar zecimal.