Алгоритм Евклида и решето Эратосфена
Легкий способ поиска простых чисел. Решето Эратосфена
Здравствуйте, дорогие читатели! Можете ли Вы сразу определить, является ли число 101 - простым? Или быстро перечислить все простые числа, меньше 102? Если да, то Вы почти наверняка пользуетесь алгоритмом, который сформулировал греческий математик Эратосфен еще до нашей эры. Если вдруг, Вы используете другой способ, то поделитесь им в комментариях. Удивительно, но этот алгоритм популярен до сих пор. И сегодня, мы разберемся, как пользоваться тем, что называется решетом Эратосфена. Занимательно, что поисковик так и норовит подсунуть портрет Евклида, вместо портрета Эратосфена...
Задача 527. Алгоритм Евклида
А теперь к настоящим алгоритмам, а не использованию уже написанных в стандартной библиотеке. Читаем условие задачи: Алгоритм Евклида - это, действительно, эффективный способ вычисления наибольшего общего делителя двух чисел. Но та версия, которую изучил Дима из условия задачи является неоптимальной. Давайте посмотрим на примере. Если даны два числа 1000000 и 12, то шаг 4 будет выполняться очень много раз (83333), после чего a будет равно 4, а b - 12 (затем, они, конечно, поменяются местами). На примере мы можем заметить, что 1000000 = 83333 * 12 + 4, или в общем виде a = k * b + r...