gpt4 book ai didi

lisp - 需要 Scheme 程序来打印数字名称

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:21 27 4
gpt4 key购买 nike

例如:

(number-name 5513345) (five million five hundred thirteen thousand three hundred forty five)

我真的不确定该怎么做?

我尝试这样做并以一系列案例陈述结束。该程序将成功打印出小于 10 的整数的名称,但除此之外几乎没有其他功能。

(define numname 
(lambda (n)
(if (= n 0)
0
(cond ((= n 9) 'nine)
((= n 8) 'eight)
((= n 7) 'seven)
((= n 6) 'six)
((= n 5) 'five)
((= n 4) 'four)
((= n 3) 'three)
((= n 2) 'two)
(else 'one)))))

最佳答案

您走在正确的轨道上。举个例子:

5513345

这是:

5 513 345

即:

five million five hundred thirteen thousand three hundred forty five

可以写成:

                        five   million
five hundred thirteen thousand
three hundred forty five (units)

看到正在出现的模式了吗?您的方法适用于 10 以下的数字(实际上,您可能希望达到 19,因为 10 到 20 之间的数字有特殊名称,不遵循 Xty Y 约定)。

一旦有了这个,升到99应该很容易

一旦你有了这个,再升到999是微不足道的

一旦你有了这个,将你的数字分成十亿、百万、数千......并再次应用它甚至都行不通。

编码愉快!

关于lisp - 需要 Scheme 程序来打印数字名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19556761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com