减去/除以两个数字列表

时间:2014-05-26 16:35:28

标签: recursion lisp

我想将数字表示为数字列表。如果两个数字的大小不同,我怎么能加减并除以? 例如:100 - 12 = 88相当于(1 0 0)减去(1 2)=(8 8)               100/12 = 8相当于(1 0 0)除以(1 2)=(8)

1 个答案:

答案 0 :(得分:1)

有两种方法可以将数字表示为十进制数字。让我们想象一下我想表示数字123。一个显而易见的是从最重要的数字到最不像(1 2 3)。这只适合演示。另一种方法是对最重要的(3 2 1)做最少的事情。

当添加和减去你从最低有效数字添加时,如果总和大于9,你携带(在其中一个数字的下一个数字加1)并继续递归。

所以你知道怎么长时间添加?如果是这样,这将是一块蛋糕。 123 + 49(+ '(9 4) '(3 2 1)) ; ==> (2 7 1)。祝你好运!