Вы можете использовать Vecrev
, чтобы получить коэффициенты полинома. После этого просто перечислите их, чтобы выбрать нулевые позиции из нулей. Вам нужен следующий однострочный:
nonzeros(xs) = Vecrev([x[2]-1 | x <- select(x -> x[1] != 0, vector(#xs, i, [xs[i], i]))])
Теперь вы можете легко получить список степеней полиномов:
p = x^10 - x^8 + x^5 - x^2 + x + 1
nonzeros(Vecrev(p))
>> [10, 8, 5, 2, 1, 0]