주민등록번호 확인하기 ¶
- 문제 : 주민등록번호 13자리를 입력받아 실제 존재하는 주민등록번호인지 분석한 후 결과를 출력한다.
입력 ¶
- 주민등록번호 13자리를 입력한다.
출력 ¶
- 실제로 존재하는 주민등록번호라면 '대한민국 국민이네요~ 안녕하세요!' 를 출력하고,
존재하지 않는 주민등록번호라면 '혹시 간첩???? -_-;; ' 을 출력한다.
주민등록 번호의 알고리즘 ¶
주민등록 번호 자리 총 13자리중 제일 뒷자리가 오류검증키 라고 한다고함.
검증하는 방법은 첫째자리부터 2,3,4,5,6,7,8,9,2,3,4,5 (13번째 숫자 제외)를 순서대로 곱하고
그 곱한수의 총합에서 11로 나누고 몫을 버리고 11에서 나머지를 뺀다고함.(11-(곱들의 총합)%11)
그숫자가 오류검증키와 같으면 주민번호 아니면 간첩
나머지가 10일경우 0으로 처리라고함
검증하는 방법은 첫째자리부터 2,3,4,5,6,7,8,9,2,3,4,5 (13번째 숫자 제외)를 순서대로 곱하고
그 곱한수의 총합에서 11로 나누고 몫을 버리고 11에서 나머지를 뺀다고함.(11-(곱들의 총합)%11)
그숫자가 오류검증키와 같으면 주민번호 아니면 간첩
나머지가 10일경우 0으로 처리라고함
풀이 ¶
작성자 | 작성언어 | 개발시간 | 코드&변수테이블 |
정수민 | C | 1h? | 주민등록번호확인하기/정수민 |
조현태 | C/C++ | . | 주민등록번호확인하기/조현태 |
김태훈(zyint) | C | 40분? | 주민등록번호확인하기/김태훈zyint |
김영록 | C++ | 25 분; | 주민등록번호확인하기/김영록 |
문보창 | Java | . | 주민등록번호확인하기/문보창 |
허아영 | C++ | . | 주민등록번호확인하기/허아영 |
김창준 | J | 3분 | {:=10|11([-|)[:+/(12$2+i.8)*}: |