我正在设计一个函数,它使用一个自然数(如 0、1、2、...等)并使用符号 I 返回以一元(基数 1)表示它的字符串,并在一元后以十进制显示数字形式。所以如果我输入 2,我会得到"II (2)"
. 5,我会得到"IIIII (5)"
。
我是这样做的:
(define (number->unary c )
(cond
[(= c 1 ) "I (1)" ]
[(= c 2 ) "II (2)" ]
[(= c 3) "III (3)"]
[(= c 4) "IIII (4)"]
[(= c 5) "IIIII (5)"]
[(= c 6) "IIIIII (6)"]
[(= c 7) "IIIIIII (7)"]
[(= c 8) "IIIIIIII (8)"]
[(= c 9) "IIIIIIIII (9)"]
[(= c 10) "IIIIIIIIII (10)"]))
但是有没有更简单的方法来解决这个问题?我一直在阅读有关数字->字符串、字符串附加和复制的信息,但我不确定从哪里开始。