Норвезький номер народження складається з 11 цифр, складених таким чином:
DDMMYYiiikk
DDдень (з 01-31)MM- місяць (з 01-12)YY- рік (з 00-99). Він не розмежований між 1900 та 2000 рокамиiiiє "індивідуальним номером"kk- дві контрольні цифри
iii визначається за родом і статтю наступним чином
- 0000-1900: Нехтування, є певна непослідовність і особливі випадки
- 1900-1999 рр .: дальність = 000-499
- 2000-2039 рр .: дальність = 500-999
- Жіноча: парні цифри (і 000)
- Чоловік: непарні номери
Контрольні номери визначаються наступним чином:
Назвемо 11 цифр:
d1 d2 m1 m2 y1 y2 i1 i2 i3 k1 k2
Тоді контрольні цифри можна обчислити, використовуючи рівняння:
k1 = 11 - ((3 * d1 + 7 * d2 + 6 * m1 + 1 * m2 + 8 * y1 + 9 * y2 + 4 * i1 + 5 * i2 + 2 * i3) mod 11)
k2 = 11 - ((5 * d1 + 4 * d2 + 3 * m1 + 2 * m2 + 7 * y1 + 6 * y2 + 5 * i1 + 4 * i2 + 3 * i3 + 2 * k1) mod 11).
Для деяких комбінацій контрольні числа k1або k2можуть стати 10. Якщо це так, номер буде недійсним.
Якщо модуль суми 11 для k1або k2становить 11, тобто k1 = 11 - (11 mod 11)контрольна цифра буде дорівнює 0, а не 11.
Виклик
Візьміть лист, Mабо F(чоловік або жінка), і номер одинадцять цифр в якості вхідних даних, і перевірити , якщо народження Номер діє в відповідності з вищенаведеними правилами.
- Формат введення та порядок необов’язковий
- 11 чисел повинні бути єдиним числом або послідовним рядком (ви не можете сприймати введення як
DD, MM, YY, iii, kk). - Ви можете припустити, що дата є дійсною (310699xxxxx не буде вказано як введення)
- Вихід - це значення "фальшива / хибна" (1/0, вірно / хибно тощо)
- Програма або функція
- Діють усі стандартні правила
Ви можете знайти всі дійсні номери на цій сторінці (норвезькою мовою), вибравши дату.
Приклади:
M, 01010099931
True
F, 01029042620
True
M, 0101009841
False
F, 01010051866
True
F, 08021690849
True
M, 01029040105
True
M, 01029037473
False
Найкоротший код виграти в байтах.
["Q", "01010099931"]повернетьсяtrue?)