2015-05-10 3 views
0

Как вычислить произведение двух многочленов?Ocaml Продукт двух полиномов

Например: х^3 + 3x^2 + 0.2x и 2x^4 + 3

Сначала я сделал тип

Type term = {coefficient:int; name:string; exponent:int};; 
Type polynomials = term list;; 

тогда я сделал коэффициент функции рассчитать

let product l l' = 
    List.concat (List.map (fun e -> List.map (fun e' -> (e*e')) l'.coefficient)    
l.coefficient);; 

Здесь я застреваю. Я предполагаю, что я могу использовать ту же функцию для показателя степени, а также, но вопрос задает написание функции многочлены с одним парам, что означает два полинома будет в одной и той же переменной

Может кто-то помочь мне здесь

ответ

0

Вы, кажется, говорите, что вас попросят написать функцию для умножения двух полиномов, но функция должна иметь только один параметр. Это, действительно, не имеет большого смысла.

Вы всегда можете использовать кортеж, чтобы связать любое количество значений с одним значением, но нет причин для этого (что я вижу), и это не является идиоматическим для OCaml.

Вот функция с одним параметром (парой), который умножает два Интс:

# let multiply (a, b) = a * b;; 
val multiply : int * int -> int = <fun> 
# multiply (8, 7);; 
- : int = 56 

(. В качестве отдельного комментария, код, который вы дать не компилируется)

 Смежные вопросы

  • Нет связанных вопросов^_^