전자납부번호의 체크 디짓 검증 방법은?(답변은 chat-gpt 3.5)

by capegoat posted Sep 25, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

아래 질의 답변 참조

단, 검증 프로그램을 만들었으나, 자동자 과태료용 전자납부번호는 전혀 적용되지 않음

 

질문 : 

대한민국 과태료용 전자납부번호는 19자리임. 이중에 체크 디짓은 어떻것이며, 어떻게 만들어 지는지를 알려줘

 

챗지피티3.5 답변


대한민국 과태료용 전자납부번호의 체크 디짓은 마지막에 위치한 숫자로, 다른 숫자들의 유효성을 검사하는 역할을 합니다. 이 체크 디짓은 다음과 같은 방식으로 생성됩니다:

 

. 전자납부번호의 앞 18자리를 사용하여 체크 디짓을 생성합니다.

. 전자납부번호의 앞 18자리에 가중치를 곱한 후 합산합니다. 가중치는 다음과 같이 정의됩니다:

•  짝수 자릿수 (1, 3, 5, 7, 9, 11, 13, 15, 17번째 자리): 1을 곱함

•  홀수 자릿수 (2, 4, 6, 8, 10, 12, 14, 16, 18번째 자리): 2를 곱함

. 가중치를 곱한 결과가 10 이상인 경우, 각 자릿수를 합산합니다. 예를 들어, 14를 가중치로 곱한 결과가 28이라면, 2 + 8 = 10이 됩니다.

. 모든 가중치를 합산한 후, 10에서 나머지를 구합니다.

. 나머지를 10에서 뺀 값을 체크 디짓으로 사용합니다. 이 값은 0에서 9 사이의 숫자가 됩니다.

예를 들어, 전자납부번호의 앞 18자리가 "123456789012345678"이라고 가정해 봅시다. 이때 체크 디짓을 계산하는 과정은 다음과 같습니다:

. 가중치를 적용한 합산:

•  1 * 1 + 2 * 2 + 3 * 1 + 4 * 2 + 5 * 1 + 6 * 2 + 7 * 1 + 8 * 2 + 9 * 1 + 0 * 2 + 1 * 1 + 2 * 2 + 3 * 1 + 4 * 2 + 5 * 1 + 6 * 2 + 7 * 1 + 8 * 2 = 121

. 합산 결과를 나머지로 나누기: 120 % 10 = 1

따라서 이 예에서는 체크 디짓은 1이 됩니다. 전체 전자납부번호는 19자리이며, 마지막에 1으로 끝나는 18자리의 번호와 체크 디짓인 1으로 구성됩니다.