问题

思路说明

本问题是一个普通的对整数数组的操作,在下面的Python解决方法中,主要是尝试了python的一个内置函数reduce。

解决(Python)

解法 (racket 5.2.1)

  1. ; 定义一个函数 operate-int-list
  2. ; 它接受一个正整数输入 n
  3. ; 它的输出是一个列表
  4. ; 列表的第一项是一个长度为 n 的列表, 此列表的每个元素都是一个 1~100 之间的伪随机数
  5. ; 所有伪随机数中的最大者
  6. ; 所有伪随机数中的最小者
  7. ; 所有伪随机数中平均值,以有理数形式表示
  8. (define (operate-int-list n)
  9. (if (<= n 0)
  10. false
  11. (let*
  12. ([rand1to100 (lambda () (+ 1 (random 100)))]
  13. [max-int (apply max random-list)]
  14. [sum (apply + random-list)]
  15. [average (/ (apply + random-list) (length random-list))])
  16. (list random-list
  17. max-int min-int sum average))))
  18. ; 函数调用,当程序运行正常时,运算结果在形式上类似于以下结果,
  19. ; 但每次的结果列表都有一定的随机性