Brak pełnego kodu, ale wnioskuję, że:
n oznacza stopień wielomianu
i analizuje dalej kod w ciemno wg własnej interpretacji
Tworzenie wielomianu w3, jest w drugiej linii oraz w drugim if - dwukrotnie tworzysz zmienną o tej samej nazwie.
Proponuje zrobić na początku sprawdzenie, który wielomian ma większy stopień i utworzenie w3 o odpowiednim stopniu. Następnie dwie pętle, dodające współczynniki wielomianów w1 i w2.
Sumując w sposób:
możesz albo wyjść poza zakres tablicy wsp (wielomiany różnego stopnia). Dodając kontrolę momentu, w którym dodawana są współczynniki z obu wielomianów łatwiej o błąd i trzeba napisać jeszcze jedną pętle, która doda pozostałe współczynniki.
Oczywiście wielomian w3 może być kopią wielomianu o większym stopniu - i wtedy wystarczy zrobić pętle dodająca wartości współczynników wielomianu o mniejszym stopniu - moim osobistym zdaniem najbardziej eleganckie rozwiązanie.
Na końcu metody nie powinno jeszcze być przypadkiem return?
Kosmetyczna i subiektywną uwaga na koniec, można napisać:
bez wcześniej deklaracji zmiennej i. Wtedy ta zmienna przestaje istnieć po wykonaniu pętli, kod będzie ładniej wyglądać, a do tego 4 bajty pamięci więcej