Každé rodné číslo občana ČR má až na výjimky v sobě zabudovaný mechanismus pravosti. RČ je validní, pokud je dělitelné 11 beze zbytku. Celkem budeš řešit 3 úkoly:
Rozbor: V PHP slouží pro operaci celočíselného dělení funkce floor(), kde argumentem je výraz. Např. floor(9/4) vrátí číslo 2. Pro operaci modulo slouží standardní operátor %. Univerzální řešení počtu cifer nezávislé na jazyku je následující: Číslo postupně celočíselně dělíš číslem 10 dokud nedostaneš 0. Počet cyklů je hledaný počet cifer. Klíčem k určení pohlaví je 3. cifra zleva. K té se dopracuješ tak, že číslo celočíselně vydělíš číslem 10 milionů (to vrátí první tři cifry) a s výsledkem provedeš operaci modulo 10 (to vrátí poslední cifru z trojice).
Celkem tedy půjde sestavit program se třemi samostatnými podprogramy, kde každý bude testovat jednu věc. Podmínkou řešení je, že každý podprogram může vracet pouze jeden ze dvou stavů: return 1 (pro stav True) nebo return 0 (pro stav False).
Online generátor RČ pro ověření: https://www.daytl.com/cs/birthnumber/.