vak: (Знайка)
[personal profile] vak
Оказывается, есть такой алгоритм: Штерна—Броко называется. Простым, но неочевидным способом вычисляет все неприводимые дроби (включая целые числа). Очень остроумно. Мне раньше не попадался почему-то.

1. Создаем список из двух дробей:


Не шарахайтесь от деления на единицу и нуль, так нужно.

2. Берём соседнюю пару дробей и между ними вставляем новую дробь. Пусть исходная пара была:


Новая дробь будет:


3. Повторяем итеративно до бесконечности.

Нетрудно доказать, что всякая неприводимая дробь будет рано или поздно вычислена. При этом никакое значение не повторится дважды.

Date: 2025-10-03 06:52 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Прикладное значение этого алгоритма - находить рациональные приближения для вещественных чисел с любой наперед заданной точностью, использующие минимальный знаменатель, не мучаясь с непрерывными дробями.
Edited Date: 2025-10-03 06:52 (UTC)

Date: 2025-10-03 07:45 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Эта вещица будет посильнее не только Фауста Гёте, но и системы остаточных классов.