EAN-8 바코드 정보와 8 체크섬 자리의 7 자리 숫자가 포함되어 있습니다.
체크섬은 숫자에 3과 1을 번갈아 곱하고 결과를 더한 다음 10의 다음 배수에서 빼서 계산합니다.
예를 들어, 숫자가 주어지면 2103498
:
Digit: 2 1 0 3 4 9 8
Multiplier: 3 1 3 1 3 1 3
Result: 6 1 0 3 12 9 24
이 결과 숫자의 합은 55 이므로 체크섬 숫자는 60-55 = 5입니다.
도전
당신의 임무는, 8 자리 바코드가 주어진다면 그것이 유효한지 확인하는 것입니다-체크섬이 유효하면 참 값을 반환하고 그렇지 않으면 거짓입니다.
- 다음 형식 중 하나로 입력 할 수 있습니다.
- 바코드 숫자를 나타내는 8 자 길이의 문자열
- 8 자리 정수 목록, 바코드 숫자
- 음수가 아닌 정수 (아무것도 주어지지 않은 경우 앞에 0을 가정 할 수 있습니다 (예 :
1
=00000001
)
- EAN-8 체크섬을 계산하는 내장 (즉, 처음 7 자리를 취하고 마지막을 계산)은 금지됩니다.
- 이것은 code-golf 이므로 가장 짧은 프로그램 (바이트)이 이깁니다!
테스트 사례
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False