Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scheme 按列表的编号重复列表中的值';s值_Scheme_Mit Scheme - Fatal编程技术网

Scheme 按列表的编号重复列表中的值';s值

Scheme 按列表的编号重复列表中的值';s值,scheme,mit-scheme,Scheme,Mit Scheme,完成方案程序(重复大量lst),该程序接收非负整数列表 gers并返回一个列表,该列表按顺序包含每个值,每个值表示的次数等于其 值。请参阅下面的示例。您可以在解决方案中使用reverse。您也可以使用helper pro 请在您的解决方案和本页背面添加图标以获得更多空间 注意:这不是家庭作业。这是一个练习题,我就是找不到答案我会给你一些提示,让你自己解决这个练习题,填补空白。您可以做的第一件可能也是最有用的事情是将问题分为两个过程。第一个,给定一个数字n,负责生成一个重复n的i列表: (defi

完成方案程序(重复大量lst),该程序接收非负整数列表 gers并返回一个列表,该列表按顺序包含每个值,每个值表示的次数等于其 值。请参阅下面的示例。您可以在解决方案中使用reverse。您也可以使用helper pro 请在您的解决方案和本页背面添加图标以获得更多空间


注意:这不是家庭作业。这是一个练习题,我就是找不到答案

我会给你一些提示,让你自己解决这个练习题,填补空白。您可以做的第一件可能也是最有用的事情是将问题分为两个过程。第一个,给定一个数字
n
,负责生成一个重复
n
i
列表:

(define (repeat n i)
  (if (zero? i)               ; if no more repeats are needed
      <???>                   ; return the empty list
      (cons <???>             ; else cons `n` and advance the recursion
            (repeat <???>     ; `n` is left unchanged
                    <???>)))) ; but `i` is diminished by one
有几种可能的方法可以解决这个问题,一些比较喜欢的方法(使用尾部递归、使用折叠过程等),但这是最简单的方法,因为它只需要了解一些基本的列表操作过程。无论如何,它的工作原理与预期相符:

(repeats-a-lot '(1 2 3))
=> '(1 2 2 3 3 3)
(repeats-a-lot '(1 2 3))
=> '(1 2 2 3 3 3)