本文介绍了计算计划中的独特元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

编写递归计划过程count-dist元素,它接受具有重复元素的列表,并返回列表中不同元素的数量。

Write a recursive Scheme procedure count-dist elements that takes a list with duplicate elements and returns the number of distinct elements in the list.

这是我的代码,但它不能正常工作。请帮忙!谢谢!!

This is my code, but it is not working correctly. Please help! Thanks!!

(define (count-dist-elements lis)   
  (cond
    ((null? lis) 0)
    ((null? (cdr lis))0)
    ((member (car lis)(cdr lis)))
     (else(+ 1(count-dist-elements (cdr lis))))))

p / s: dist-elements'(1 2 1 1 2 3 4 5 5 6 6 7 7 8 8 8 9))

p/s: let it be (count-dist-elements '(1 2 1 1 2 3 4 5 5 6 6 7 7 8 8 8 9))

推荐答案


  • 当您使用一个元素传递函数列表时会发生什么?在这种情况下,你的函数应该返回什么?

  • 具有相同元素的两元素列表(例如(5 5))?您的函数是否返回合理的值?

  • What happens when you pass your function a list with one element? What should your function return in this case?
  • What about a two-element list with the same element (eg. (5 5))? Does your function return a sensible value?

这篇关于计算计划中的独特元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 23:58