Задача Дирак - QBasic

Узнай цену своей работы

Формулировка задачи:

Эту задачу придумал известный английский физик Поль Дирак. “Три рыбака легли спать, не поделив улова. Проснувшийся ночью первый рыбак решил уйти, взяв свою долю. Но число рыб не делилось на три. Тогда он выбросил одну рыбу, а из числа оставшихся забрал треть. Второй и третий рыбаки поступили аналогично (выбросили по одной рыбе и взяли треть из оставшихся). Спрашивается, какое наименьшее количество рыб может удовлетворить условию задачи?”.

Решение задачи: «Задача Дирак»

textual
Листинг программы
DO
r = r + 1
a = 2 / 3 * (2 / 3 * (2 / 3 * (r - 1) - 1) - 1)
LOOP UNTIL a = INT(a)
PRINT r

Объяснение кода листинга программы

В данном коде:

  1. Объявляются две переменные: r и a. Значение переменной r увеличивается на единицу при каждой итерации цикла.
  2. В каждой итерации цикла значение переменной a вычисляется как результат умножения двух дробей на значение переменной r.
  3. Значение переменной a округляется до целого числа с помощью функции INT().
  4. Цикл выполняется до тех пор, пока значение переменной a не станет равным округленному значению переменной r.
  5. После окончания цикла выводится значение переменной r.

Оцени полезность:

14   голосов , оценка 4.071 из 5