【发布时间】:2023-03-29 22:59:01
【问题描述】:
今天,我们在人工智能课程中首次使用了 LISP。嗯,LISP 编译器不是现成的,所以我们干运行每个代码。
当POWER 函数被提升为负数时,我目前遇到了问题。我问讲师,他说我应该自己做,并吹嘘他会在周三的考试中设置它。我在网上搜索,发现一些教程说它会产生错误,你应该输出一个自定义的错误消息,然后我想起了Stackoverflow。
这是我已经做过的示例程序,但幂是正整数。
(DE POWER (M N)
(COND ((ZEROP N) 1)
(T (TIMES M (POWER M (SUB 1 N)))))
例子
M = 4,N = 3
(POWER 4 3)
(TIMES 4 (POWER 4 2))
(TIMES 4 (TIMES 4 (POWER 4 1)))
(TIMES 4(TIMES 4(TIMES 4 ( POWER 4 0))))
(TIMES 4(TIMES 4 (TIMES 4 1)))
(TIMES 4 (TIMES 4 4))
(TIMES 4 16)
64
现在,如何使用 LISP 程序解决以下问题?
M = 4,N = -3
在 LISP 中是否有任何功能可以解决负面权力,或者是否有系统的步骤来解决这个问题?
【问题讨论】:
-
那是什么 Lisp 方言?
DE不是 Common Lisp 语法。 -
@Barmar 真的吗?我问他什么是
DE,他说是DEFINITION。更像是定义一个过程 -
高中数学:
x ** -y是1 / (x ** y) -
看起来像 PicoLisp。
-
刚发现是Vlisp。