NalezniStred := proc (rada) local pocet, i, poradi, stred; pocet := nops(rada)
; for i to pocet do if subs(x = 0,op(i,rada)) <> subs(x = 1,op(i,rada)) then 
poradi := i end if end do; stred := -op(1,subs(x = 0,op(poradi,rada))); stred
end proc;
PrevedNaStred := proc (rada) local stred, i, pocet, poradi, mocnina, vysledek;
pocet := nops(rada); for i to pocet do if subs(x = 0,op(i,rada)) <> subs(x = 1
,op(i,rada)) then poradi := i end if end do; stred := NalezniStred(rada); 
mocnina := op(2,op(poradi,rada)); if type(rada,`^`) then vysledek := x^op(2,
rada) else vysledek := rada/op(poradi,rada)*x^mocnina end if; vysledek end 
proc;
Polomer := proc (a) local r, nrada, i, pocet, poradi, mocnina, y, f, g; nrada
:= PrevedNaStred(a); pocet := nops(nrada); for i to pocet do if subs(x = 0,op(
i,nrada)) <> subs(x = 1,op(i,nrada)) then poradi := i end if end do; mocnina 
:= op(poradi,nrada); if type(nrada,`^`) then r := 1 else nrada := nrada/
mocnina; f := solve({y = op(2,mocnina)},{n}); g := subs(y = n,op(2,op(f))); 
nrada := subs(n = g,nrada); r := limit(abs(nrada/subs(n = n+1,nrada)),n = 
infinity) end if end proc;
