Define the stream non-neg-integers. Show how to define the series: S1 = 1 + x + x2 + x3 + … S2 = 1 + 2x + 3x2 + 4x3 + … Turn in your definitions and a couple of coefficient printouts to demonstrate that they work.(piease use lisp)
时间: 2024-01-22 19:03:02 浏览: 30
下面是使用 Lisp 定义非负整数流以及级数 S1 和 S2 的代码:
```lisp
;; 定义非负整数流
(defun non-neg-integers ()
(let ((n 0))
(lambda ()
(prog1 n
(setq n (1+ n))))))
;; 定义级数 S1
(defun s1 (x)
(let ((nats (non-neg-integers)))
(labels ((term (n)
(expt x n)))
(loop for n from 0
sum (funcall nats)
collect (term n)))))
;; 定义级数 S2
(defun s2 (x)
(let ((nats (non-neg-integers)))
(labels ((term (n)
(* (funcall nats) (expt x n))))
(loop for n from 0
sum (funcall nats)
collect (term n)))))
;; 打印 S1 和 S2 的前 5 个系数
(format t "S1: ~a~%" (subseq (s1 2) 0 5))
(format t "S2: ~a~%" (subseq (s2 2) 0 5))
```
在上面的代码中,我们使用了 `non-neg-integers` 函数定义了一个返回非负整数流的函数。然后,我们分别使用 `s1` 和 `s2` 函数定义了级数 S1 和 S2。在这两个函数中,我们用 `non-neg-integers` 函数生成了一个非负整数流,并用 `labels` 定义了一个计算每一项系数的函数 `term`,最后使用 `loop` 循环计算级数的前若干项系数,并用 `collect` 函数收集结果。
最后,我们使用 `format` 函数打印了 S1 和 S2 的前 5 个系数。你可以自己尝试修改参数 x,或者调整打印的系数个数,验证它们的正确性。
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)