首页 文章

将表示为系数列表的多项式转换为字符串

提问于
浏览
1

我知道这是一个新的问题 . 我正在尝试创建一个函数'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 回答

  • 0

    你需要编写一些辅助函数 .

    • 编写给定多项式的函数返回度数列表 .

    输入:'(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) 获取最终字符串 .

    注意:可以产生更漂亮的输出,但这是一个好的开始 .

相关问题