Краткий ответ. Один из классических примеров алгоритма — алгоритм Евклида: он находит наибольший общий делитель (НОД) двух натуральных чисел.
Словесная запись
- Взять два натуральных числа $a$ и $b$.
- Если $b = 0$, то ответ — число $a$, конец.
- Иначе заменить пару $(a,,b)$ на пару $(b,\ a \bmod b)$, где $a \bmod b$ — остаток от деления $a$ на $b$.
- Вернуться к шагу 2.
В виде псевдокода
пока b ≠ 0:
a, b = b, a mod b
вывести a
Проверка на примере $a = 48,\ b = 18$
| Шаг | $a$ | $b$ | $a \bmod b$ |
|---|---|---|---|
| 1 | 48 | 18 | 12 |
| 2 | 18 | 12 | 6 |
| 3 | 12 | 6 | 0 |
| 4 | 6 | 0 | — конец |
Ответ: $\text{НОД}(48, 18) = 6$.
Контроль: $48 = 6 \cdot 8$, $18 = 6 \cdot 3$, а 8 и 3 взаимно просты — значит, 6 действительно наибольший общий делитель. ✔
Почему это настоящий алгоритм
- Дискретность — выполняется по отдельным шагам.
- Результативность — остаток каждый раз меньше, поэтому цикл обязательно закончится (при $b=0$).
- Определённость — на каждом шаге действие задано однозначно.
- Массовость — годится для любой пары натуральных чисел, а не только для 48 и 18.
Тот же алгоритм можно нарисовать блок-схемой: овал «начало» → ввод $a,b$ → ромб-условие $b=0$ → прямоугольники с заменой → вывод $a$ → овал «конец».
