gpt4 book ai didi

math - 如何解决 Lisp 中的负幂

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:49 24 4
gpt4 key购买 nike

今天,我们在人工智能课上第一次使用了 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 中是否有解决负幂的函数或者是否有系统的步骤来解决这个问题?

最佳答案

M^(-N) = 1/(M^N)。所以你可以检查负 N 并返回 1/M^(-N)。

(DE POWER (M N)
(COND ((ZEROP N) 1)
((< N 0) (/ 1 (POWER M (- 0 N))))
(T (TIMES M (POWER M (SUB 1 N)))))

关于math - 如何解决 Lisp 中的负幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25926269/

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