301 читали · 5 лет назад
Задача 527. Алгоритм Евклида
А теперь к настоящим алгоритмам, а не использованию уже написанных в стандартной библиотеке. Читаем условие задачи: Алгоритм Евклида - это, действительно, эффективный способ вычисления наибольшего общего делителя двух чисел. Но та версия, которую изучил Дима из условия задачи является неоптимальной. Давайте посмотрим на примере. Если даны два числа 1000000 и 12, то шаг 4 будет выполняться очень много раз (83333), после чего a будет равно 4, а b - 12 (затем, они, конечно, поменяются местами). На примере мы можем заметить, что 1000000 = 83333 * 12 + 4, или в общем виде a = k * b + r...
7027 читали · 2 года назад
Этот алгоритм придумали в XV веке, но раскрыли истинный потенциал лишь недавно. Бинарное возведение в степень
Приветствую Вас, уважаемые Читатели! Вопрос, который я хочу сегодня рассмотреть на первый взгляд не имеет смысла: любая современная электронная вычислительная машина с легкостью справится с вычислением просто громадных степеней: Однако, так было не всегда, и со временем перед математиками всё чаще вставал вопрос увеличения скорости вычислений, пусть даже проводимых вручную. Например, в 15 веке персидский математик Гияс-ад-дин Джамшид ибн Масуд аль-Каши занимался излюбленной задачей математиков древности - вычислением числа π...