ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Задача 76213
Условие(Э. Дейкстра) Добавим в алгоритм Евклида дополнительные переменные u, v, z: m := a; n := b; u := b; v := a; {инвариант: НОД (a,b) = НОД (m,n); m,n >= 0 } while not ((m=0) or (n=0)) do begin | if m >= n then begin | | m := m - n; v := v + u; | end else begin | | n := n - m; u := u + v; | end; end; if m = 0 then begin | z:= v; end else begin {n=0} | z:= u; end;Доказать, что после исполнения алгоритма значение z равно удвоенному наименьшему общему кратному чисел a, b: z = 2 . НОК(a, b). РешениеЗаметим, что величина
m . u + n . v не меняется в ходе выполнения алгоритма.
Остаётся воспользоваться тем, что вначале она равна
2ab и что
НОД(a,b) . НОК(a,b) = ab.
Источники и прецеденты использования |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|
![]() |
Проект осуществляется при поддержке