本文介绍了如何在方案中编写程序以查找数字列表的因数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是单个整数的代码,如何扩展到函数列表?

This is the code for a single integer, how can it extends to list of function?

(define (factors n)
      (define (*factors d)
        (cond ((> d n) (list))
              ((= (modulo n d) 0) (cons d (*factors (+ d 1))))
              (else (*factors (+ d 1)))))
      (*factors 1))
    
    (display (factors 1111111))
    (newline)

推荐答案

您可以使用 for-each 遍历列表.

(define (factors n)
  (define (*factors d)
    (cond ((> d n) (list))
          ((= (modulo n d) 0) (cons d (*factors (+ d 1))))
          (else (*factors (+ d 1)))))
  (*factors 1))

(define arbitarily-large-input (list 10 11 12))

(for-each (lambda (x)
            (display x)
            (newline))
          (map factors arbitarily-large-input))

这篇关于如何在方案中编写程序以查找数字列表的因数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-21 09:03