我知道这是一个新的问题 . 我正在尝试创建一个函数'displayPoly'来显示方案中的多项式 . 例如,给出为'(2 0 1 5.1 8)的列表应该显示2x ^ 4 x ^ 2 5.1x 8 .
我已将“学位”定义如下:
(define degree
(lambda(list)
(if (null? list)
(- 1)
(+ 1 (degree (cdr list))))))
请注意我严格限于基本方案函数•define,lambda,if,cond,cons,car,cdr,list,member,list-ref•predicates:null?清单?等于?串?数?会员? •算术运算符,关系运算符,逻辑运算符•sort,map,filter,foldr,foldl,length,reverse,append,last,let,let *,letrec,print,begin,newline,display,expt,string-append,reduce , 范围
1 回答
你需要编写一些辅助函数 .
输入:'(2 0 1 5.1 8)输出:(4 3 2 1 0)
mono
,给定系数和度数输出一个单项式作为字符串 .输入:2 4输出:“2x ^ 4”
使用
(map mono '(2 0 1 5.1 8) (4 3 2 1 0))
生成单项式列表 .使用
add-between
(或自己编写一个)在所有单项式之间添加"+" .使用
(apply string-append your-list-of-monomials)
获取最终字符串 .注意:可以产生更漂亮的输出,但这是一个好的开始 .