ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Тема:
Информатика
Подтемы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Версия для печати
Убрать все задачи Написать вариант алгоритма Евклида, использующий соотношения
НОД(2a, 2b) = 2·НОД(a,b),
не включающий деления с остатком, а использующий лишь
деление на 2 и проверку чётности. (Число действий
должно быть порядка
log k для исходных данных,
не превосходящих k.)
|
Страница: << 50 51 52 53 54 55 56 >> [Всего задач: 277]
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).
НОД(2a, 2b) = 2·НОД(a,b),
не включающий деления с остатком, а использующий лишь
деление на 2 и проверку чётности. (Число действий
должно быть порядка
log k для исходных данных,
не превосходящих k.)
Страница: << 50 51 52 53 54 55 56 >> [Всего задач: 277] |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|