gpt4 book ai didi

lisp - 如何在嵌套的for循环中累加计数?

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

我有以下内容:

(let ((count 0))
(loop for i from 1 to 3 do
(loop for j from 1 to 3 do
(loop for k from 1 to 3 do
(setq count (+ 1 count))))
finally (return count)))

执行此操作的速度最快、口齿不清的结构是什么?

最佳答案

最好的方法是什么取决于代码的目的,即嵌套三个循环的原因。

在您的特定情况下,最快和最短的答案是 (* 3 3 3)27

更一般地说,一个可能的改进是用(incf count)替换(setq count (+ 1 count))

你也可以把循环写成

(loop for i from 1 to 3 summing
(loop for j from 1 to 3 summing
(loop for k from 1 to 3 summing 1)))

除了非循环答案外,所有版本的速度应该大致相同。

关于lisp - 如何在嵌套的for循环中累加计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596176/

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