노르웨이 출생 번호는 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. 이 경우 숫자가 유효하지 않습니다.
k1또는 k2에 대한 합 계수 11 이 11 인 경우 즉 k1 = 11 - (11 mod 11), 제어 숫자는 11이 아니라 0이됩니다.
도전
문자, M또는 F(남성 또는 여성), 그리고 11 자리 숫자를 입력으로 받아, 위의 규칙에 따라 출생 번호가 유효한지 확인하십시오.
- 입력 형식과 순서는 선택 사항입니다
- 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
바이트 단위의 최단 코드가 이깁니다.
@Chiru, M 또는 F 만 입력으로 가정합니다. 유효하지 않은 입력에 대해 정의되지 않은 동작은 정상입니다.
—
Stewie Griffin
["Q", "01010099931"]반환 하면 규칙에 위배true되는가?)