online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
// funkcja sprawdzająca poprawność numeru PESEL // zakładamy, że PESEL jest ciągiem znaków function isValidPESEL(pesel) { // tablica z wagami poszczególnych cyfr const weights = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3]; // rozbijamy PESEL na pojedyncze cyfry // i dokonujemy ich konwersji na typ liczbowy const digits = pesel.split('').map(x => parseInt(x)); // zmienna przechowująca sumę iloczynów cyfry i wagi let sum = 0; // pętla wykonująca mnożenia cyfr przez wagi // aby łatwo pominąć ostatnią cyfrę, iterować będziemy po tablicy wag for (let i = 0; i < weights.length; i++) { // do sumy dodajemy iloczyn wagi i cyfry modulo 10 // modulo 10 wydobywa nam ostatnią cyfrę dwucyfrowej liczby sum += weights[i] * digits[i] % 10; } // obliczamy cyfrę kontrolną const checksum = (10 - sum % 10) % 10; // zwracamy, czy obliczona cyfra kontrolna jest taka sama // jak ostatnia cyfra numeru PESEL return checksum === digits.at(-1); } // przykładowy PESEL ze strony gov.pl console.log(isValidPESEL('02070803628')) // PESEL który daje 10-0 przy obliczaniu cyfry kontrolnej console.log(isValidPESEL('55030101230')) // losowy ciąg cyfr console.log(isValidPESEL('12345678901')) // pozornie poprawny numer, również losowy console.log(isValidPESEL('88021374206')) // powyższy, ale z ręcznie obliczoną cyfrą kontrolną console.log(isValidPESEL('88021374203'))

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue