Tallying은 기본 5에서 작동하는 간단한 카운팅 시스템입니다. 전 세계에서 사용되는 다양한 키잉 시스템이 있지만 대부분의 영어권 국가에서 사용되는 시스템은 아마도 세로선을 표시하여 가장 간단한 카운팅 단위입니다. 각 5 번째 마크는 4 개의 이전 컬렉션을 가로 질러 수평선을 표시합니다. 이렇게하면 탈리 마크가 5 개 그룹으로 묶어집니다 (빠른 계산이 더 쉬워집니다).
주어진 값까지 탈리 마크를 표시하는 프로그램을 작성하려고합니다. 그러나 5 번만 계산하는 것은 지루합니다! 따라서 프로그램은 다른 기준으로 키를 표시 할 수 있어야합니다.
입력
입력은 쉼표로 구분 된 하나 이상의 음이 아닌 정수 값입니다 (예 : 9
또는 8,4
). 첫 번째 숫자는 탈리에 의해 표시되어야하는 값입니다. 두 번째 값은 탈리의 기준입니다. 두 번째 값이 제공되지 않으면 밑 5를 사용하십시오 .
산출
출력은 ASCII 아트 탈리 마크로 표시된 입력 값이됩니다. 다음은 프로그램을 테스트 할 수있는 몇 가지 예입니다. 출력이 정확하게 일치해야합니다!
입력 : 12
또는12,5
| | | | | | | | | |
-+-+-+-+- -+-+-+-+- | |
| | | | | | | | | |
입력: 7,3
| | | | |
-+-+- -+-+- |
| | | | |
입력: 4,2
| |
-+- -+-
| |
입력 : 6,1
또는 6,10
(앞 공백에주의)
| | | | | |
| | | | | |
| | | | | |
또한베이스 1은 일관성이 없어야합니다. 세로선 만 사용해야합니다.
입력 된 값 중 하나가 0이면 출력 이 없어야합니다 (및 프로그램이 정상적으로 종료되어야 함).
규칙
- 이것은 code-golf 이므로 가장 짧은 올바른 구현 (바이트)이 이깁니다.
- 입 / 출력은 적절한 매체 (예 : stdin / stdout, file ...)에있을 수 있습니다.
- 입력이 여러 명령 행 인수의 형태이거나 대상 언어에 더 적합한 경우 공백 등으로 구분 될 수 있습니다.
- 출력에서 후행 줄 바꿈이 허용됩니다. 후행 공백은 없습니다. 이 규칙은 출력이있을 때만 (즉, 입력 된 값이 0 일 때) 적용되지 않습니다.
- 베이스가 입력되지 않은 경우 코드는 기본적으로베이스 5로 설정되어야합니다.
-+-
는 두 줄을 나타냅니다. 세로선과 가로선 이 있기 때문입니다. 밑면 1에는 세로선 만 있습니다. @AndoDaan이 수정되었습니다.
--- --- --- --- --- ---
그럼. 다른베이스와 일관성을 유지하려면 b-1
수직선을 통해 수평 타격을 가해 야합니다. 일관성이없는 경우 명시 적으로 명시해야합니다.
6,1
더 좋아 보이지-+- -+- -+- -+- -+- -+-
않습니까?