Racket 写入方案LISP原子计数

Racket 写入方案LISP原子计数,racket,Racket,有人能帮我解决这个问题吗 定义test1'co2h2o3o2 定义test2'h2o 定义test3'co2o2 原子计数test1返回14 原子计数test2返回3 原子计数test3返回5 不太难,主要的一点是,在我的例子中,您需要一种称为prev的缓冲区来等待可能的乘法: 定义原子计数lst 让循环lst lst prev 0 如果为空?lst 上 让我们把车停下来 康德 列表elt+prev loop cdr lst loop elt 0 数字elt环路cdr lst*上一个elt el

有人能帮我解决这个问题吗

定义test1'co2h2o3o2 定义test2'h2o 定义test3'co2o2 原子计数test1返回14 原子计数test2返回3 原子计数test3返回5
不太难,主要的一点是,在我的例子中,您需要一种称为prev的缓冲区来等待可能的乘法:

定义原子计数lst 让循环lst lst prev 0 如果为空?lst 上 让我们把车停下来 康德 列表elt+prev loop cdr lst loop elt 0 数字elt环路cdr lst*上一个elt else+prev loop cdr lst 1 测试:

>原子计数'CO 2 h 2 o 3 o 2 14 >氢原子数 3. >原子计数CO 2 o 2 5.
拜托,你能更具体一点吗?为什么原子计数test1返回14?如果你想计算原子数,我希望是9。@JoshuaTaylor 14是正确的:1+1*2+1*2+1*3+1*2.LOL。。LISP中的原子不是列表。看起来你是在用原子这个词作为分子的元素,比如化学,而不是计算机编程。您需要指定这些内容。另外,如果你想用代码来回答问题,你必须提供你到目前为止所做的。@uselpa啊,所以它应该是为符号加1,然后是非数字,为符号加数字,然后是数字。非常感谢你的帮助uselpa你很幸运,我比接近的投票者更快。下次试着表现出一些努力。好吧,我很抱歉,因为我是scheme lisp的新手