1
правка
Изменения
→Алгоритм: Ошибки псевдокода
<tex> \dfrac{a + b}{c} = \dfrac{b + c}{a} = \varphi </tex>
Расстояние от <tex>l </tex> до <font color=redtex> x1 </font> = a + b - c = new_aa' </tex>, от <font color=redtex> x2 </fonttex> до <font color=redtex> r = b = c'</fonttex> = b = new_c, от <font color=redtex> х1 </fonttex> до <font color=redtex> х2 </font> = c - b = new_bb'</tex>. Т.е. если мы подставим new_a<tex>a', new_bb', new_c c'</tex> в старое соотношение <tex> \dfrac{a + b}{c} </tex>, то получится <tex> \dfrac {a + b - c + c - b}{b} = \dfrac{a}{b}</tex>.
<tex> \dfrac{a}{b} = \varphi </tex>
===Псевдокод===
'''intdouble''' goldenSectionSearch(f: '''intdouble -> double''' f, l: '''intdouble''' l, r: '''intdouble''' r, eps: '''intdouble''' eps): '''double''' phi = (1 + sqrt(5)) / 2 '''double''' resphi = 2 - phi '''double''' x1 = l + resphi * (r - l) '''int''' x2 = r - resphi * (r - l) '''int''' f1 = f(x1) '''int''' f2 = f(x2)
'''do'''
'''if''' f1 < f2
x2 = x1
f2 = f1
f1 = f(x1)
'''else'''
x1 = x2
f1 = f2
x2 = r - resphi * (r - l)
f2 = f(x2)
==Время работы==