Фундаментальные алгоритмы

Фундаментальные алгоритмы

Два основных фундаментальных алгоритма - это алгоритм деления и алгоритм Евклида

Алгоритм деления - предназначен для вычисления неполного частного и остатка от деления двух целых чисел.

Алгоритм деления

a - делимое
b - делитель
q- неполное частное
r – остаток

Ввод: натуральные числа a и b. Вывод: неотрицательные целые числа Q и R для которых выполнено равенство: a=bq+r и 0≤r<b.

Шаг 1 положить Q=0 и R=a
Шаг 2 если R < b, то сообщить: «частное равно Q , а остаток равен R», и остановится. В противном случае перейти к шагу 3.
Шаг 3 если R ≥ b, то вычесть b из R, увеличить Q на 1 и вернуться к шагу 2

Для правильного прочтения алгоритма нужно придерживаться следующих простых соглашений. Заметим, что алгоритм использует две переменные Q и R. Имена переменных выбраны такими потому, что по завершении работы алгоритма их значения будут равны неполному частному и остатку от деления a на b. (термины «частное» и «остаток» в переводе с английского выглядит как “quotient” и “remainder” отсюда и обозначение). Для вычисления результата шаги 2 и 3 будут повторены несколько раз. Значит они образуют цикл. Значения переменных Q и R будут манятся от цикла к циклу. Именно поэтому они и называются переменными. Изменение значения переменных происходит на шаге 3. Инструкция «вычесть b из R» означает, что переменной R должно быть присвоено новое значение, равное ее значению после окончания предыдущего цикла, уменьшенному на b. Аналогично инструкция «увеличить Q на 1» означает, что значение Q после окончания предыдущего цикла следует увеличить на 1. Предположим, например, что a>b. тогда после первого прохода через шаг 3 мы получим Q=1 и R=a-b. если a-b≥b, то, согласно алгоритму, мы должны выполнить шаг 3 еще раз. Проделав это мы получаем Q=2 и R=a-2b, и т.д. Заметим, что в результате последовательного применения шага 3 мы получаем следующую последовательность значений переменной R: Начальное значение: a 1-й цикл: a-b 2-й цикл: a-2b 3-й цикл: a-3b и т.д. Это убывающая последовательность целых чисел. Поскольку количество чисел между a и 0 конечно, последовательность с необходимостью попадает в число, меньшее b. тогда на шаге 2 работа останавливается, и алгоритм выводит значение переменных R и Q.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Фундаментальные алгоритмы" в других словарях:

  • Программируемые алгоритмы —       Служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавл …   Википедия

  • Список алгоритмов — Эта страница информационный список. Основная статья: Алгоритм Ниже приводится список алгоритмов, группированный по категориям. Более детальные сведения приводятся в списке структур данных и …   Википедия

  • Алгоритм сортировки — это алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в остальных полях… …   Википедия

  • Методы сортировки — Алгоритм сортировки это алгоритм для упорядочения элементов в списке. В случае, когда элемент списка имеет несколько полей, поле, служащее критерием порядка, называется ключом сортировки. На практике в качестве ключа часто выступает число, а в… …   Википедия

  • Задача о ранце — Пример задачи о ранце: необходимо разместить ящики в рюкзак при условии на вместимость рюкзака 15 кг, так чтобы суммарная полезность предметов в рюкзаке была максимальной. Задача о ранце (рюкзаке) (англ.  …   Википедия

  • Двоичный поиск — Двоичный (бинарный) поиск (также известен как метод деления пополам и дихотомия) классический алгоритм поиска элемента в отсортированном массиве (векторе), использующий дробление массива на половины. Используется в информатике, вычислительной… …   Википедия

  • Внутренняя сортировка — (англ. internal sort) разновидность алгоритмов сортировки или их реализаций, при которой оперативной памяти достаточно для помещения в неё сортируемого массива данных с произвольным доступом к любой ячейке и собственно для выполнения… …   Википедия

  • Алгоритм Борувки — Алгоритм Борувки  это алгоритм нахождения минимального остовного дерева в графе. Впервые был опубликован в 1926 году Отакаром Борувкой в качестве метода нахождения оптимальной электрической сети в Моравии. Несколько раз был переоткрыт,… …   Википедия

  • Внешняя сортировка — сортировка данных, расположенных на периферийных устройствах и не вмещающихся в оперативную память, то есть когда применить одну из внутренних сортировок невозможно. Стоит отметить, что внутренняя сортировка значительно эффективней внешней, так… …   Википедия

  • Интерполирующий поиск — основан на принципе поиска в телефонной книге или, например, в словаре. Вместо сравнения каждого элемента с искомым как при линейном поиске, данный алгоритм производит предсказание местонахождения элемента: поиск происходит подобно двоичному… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»