Напишете клас Polynomial
, който представя полиноми в човешки вид, следвайки
няколко прости правила:
-
Ако коефициентът е
1
, той не се отпечатва. -
Ако коефициентът е отрицателно число, пред него се отпечатва само знакът
-
. Например- 2x^3
, а не+ - 2x^3
или+ (- 2x^3)
. -
Ако коефициентът е
0
, едночленът не се добавя към полинома. -
При
x^1
се пропуска^1
и се отпечатва самоx
. -
Тъй като
x^0
е единица, няма нужда да се отпечатва.
Примери:
Polynomial.new([-3, -4, 1, 0, 6]).to_s #=> '- 3x^4 - 4x^3 + x^2 + 6'
Polynomial.new([1, 0, 2]).to_s #=> 'x^2 + 2'
Детайли:
-
При празен списък от коефициенти, поведението на полинома е недефинирано.
-
Ако всички коефициенти в списъка са нули, връща се
'0'
.
Подсказки:
- Трябва да предефинирате
to_s
.