-2

例如:

(编号-名称 5513345) (55513345)

我真的不知道该怎么做?

我试着去做,最后得到了一系列案例陈述。该程序将成功打印出小于 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))))) 
4

1 回答 1

3

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

5513345

这是:

5 513 345

IE:

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 是微不足道的

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

快乐编码!

于 2013-10-24T12:10:10.043 回答