挑战
按字符计数绘制 Code 39 条形码的 ASCII 表示的最短代码。
关于 Code 39 的维基百科文章: http ://en.wikipedia.org/wiki/Code_39
输入
对于 Code 39 条码,输入将是一串合法字符。这意味着 43 个字符是有效的:0
- 9
A
- Z
(空格)和
-.$/+%
. 该*
字符不会出现在输入中,因为它用作开始和停止字符。
输出
Code 39 条码中编码的每个字符都有九个元素、五个条形和四个空格。条将用#
字符表示,空格将用空格字符表示。九个元素中的三个将是宽的。窄元素是一个字符宽,宽元素是三个字符宽。应在每个字符模式之间添加单个空格的字符间空格。应重复该模式,以使条形码的高度为八个字符高。
开始/停止字符*
(bWbwBwBwb) 将表示如下:
# # ### ### #
# # ### ### #
# # ### ### #
# # ### ### #
# # ### ### #
# # ### ### #
# # ### ### #
# # ### ### #
^ ^ ^^ ^ ^ ^ ^^^
| | || | | | |||
narrow bar -+ | || | | | |||
wide space ---+ || | | | |||
narrow bar -----+| | | | |||
narrow space ------+ | | | |||
wide bar --------+ | | |||
narrow space ----------+ | |||
wide bar ------------+ |||
narrow space --------------+||
narrow bar ---------------+|
inter-character space ----------------+
- 开始和结束字符
*
需要在条码的开始和结束处输出。 - 条形码之前或之后不需要包含安静空间。
- 不需要计算校验位。
- 不需要完整的 ASCII Code39 编码,只需标准的 43 个字符。
- 无需在 ASCII 条形码表示下方打印任何文本来识别输出内容。
- 如果需要,该字符
#
可以替换为另一个更高密度的字符。使用完整的块字符 U+2588,将允许条形码在打印时实际扫描。
测试用例
Input:
ABC
Output:
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # ### # # ### ### ### # # # # # ### ### #
Input:
1/3
Output:
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
# # ### ### # ### # # # ### # # # # # ### ### # # # # # ### ### #
Input:
- $ (minus space dollar)
Output:
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
# # ### ### # # # # ### ### # ### # ### # # # # # # # # ### ### #
代码计数包括输入/输出(完整程序)。