Polynomial synthetic division: Difference between revisions
Content added Content deleted
(→{{header|Java}}: added Java) |
Walterpachl (talk | contribs) m (add REXX) |
||
Line 140: | Line 140: | ||
<pre>POLYNOMIAL SYNTHETIC DIVISION |
<pre>POLYNOMIAL SYNTHETIC DIVISION |
||
(1 -12 0 -42) / (1 -3) = (1 -9 -27) remainder (-123)</pre> |
(1 -12 0 -42) / (1 -3) = (1 -9 -27) remainder (-123)</pre> |
||
=={{header|REXX}}== |
|||
<lang rexx>/* REXX Polynom Division */ |
|||
Call set_dd '1 -12 0 -42' |
|||
Call set_dr '1 -3' |
|||
q.0=0 |
|||
do While dd.0>1 |
|||
q=dd.1/dr.1 |
|||
Do j=1 To 2 |
|||
dd.j=dd.j-q*dr.j |
|||
End |
|||
Call set_q q |
|||
Call shift_dd |
|||
End |
|||
Say list_dd '/' list_dr |
|||
say 'Quotient:' mk_list_q() 'Remainder:' dd.1 |
|||
Exit |
|||
set_dd: |
|||
Parse Arg list |
|||
list_dd='[' |
|||
Do i=1 To words(list) |
|||
dd.i=word(list,i) |
|||
list_dd=list_dd||dd.i',' |
|||
End |
|||
dd.0=i-1 |
|||
list_dd=left(list_dd,length(list_dd)-1)']' |
|||
Return |
|||
set_dr: |
|||
Parse Arg list |
|||
list_dr='[' |
|||
Do i=1 To words(list) |
|||
dr.i=word(list,i) |
|||
list_dr=list_dr||dr.i',' |
|||
End |
|||
dr.0=i-1 |
|||
list_dr=left(list_dr,length(list_dr)-1)']' |
|||
Return |
|||
set_q: |
|||
z=q.0+1 |
|||
q.z=arg(1) |
|||
q.0=z |
|||
Return |
|||
shift_dd: |
|||
Do i=2 To dd.0 |
|||
ia=i-1 |
|||
dd.ia=dd.i |
|||
End |
|||
dd.0=dd.0-1 |
|||
Return |
|||
mk_list_q: |
|||
list='['q.1'' |
|||
Do i=2 To q.0 |
|||
list=list','q.i |
|||
End |
|||
Return list']'</lang> |
|||
{{out}} |
|||
<pre>[1,-12,0,-42] / [1,-3] |
|||
Quotient: [1,-9,-27] Remainder: -123</pre> |
|||
=={{header|Tcl}}== |
=={{header|Tcl}}== |