Вывести все несокращаемые дроби, которые находятся в диапазоне от 0 до 1, знаменатель которых не превышают заданное число - Pascal

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

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

Помогите написать программу в которой мы выводим на экран после того как получим число N все не сокращаемые дроби которые находятся в диапазоне от 0 до 1 знаменатель которых не превышают число N(2<=N<=255). Например N : 5 res: 1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5.

Решение задачи: «Вывести все несокращаемые дроби, которые находятся в диапазоне от 0 до 1, знаменатель которых не превышают заданное число»

textual
Листинг программы
var
  n : integer;
 
{ P / Q }
procedure Farey(ltP, ltQ, rgP, rgQ : integer);
var P, Q : integer;
begin
  if (ltQ <= n) and (rgQ <= n) then
  begin
    P := ltP + rgP;
    Q := ltQ + rgQ;
    Farey(ltP, ltQ, P, Q);
    if Q <= n then
      writeln(P, '/', Q);
    Farey(P, Q, rgP, rgQ);
  end;
end;
 
begin
  write('n = '); readln(n);
  Farey(0, 1, 1, 1);
end.

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

Данный код написан на языке Pascal и выполняет следующую задачу: выводит все несокращаемые дроби, которые находятся в диапазоне от 0 до 1, знаменатель которых не превышают заданное число n. Код начинается с объявления переменной n, которая будет использоваться для ограничения диапазона дробей. Затем следует определение процедуры Farey, которая принимает четыре аргумента: ltP, ltQ, rgP и rgQ - это меньшее и большее значения числителя и знаменателя первой и второй дробей соответственно. Внутри процедуры выполняется рекурсивный вызов Farey для каждой дроби, а также проверяется условие, что значение Q не превышает значение n. Если это условие выполняется, то выводится числитель и знаменатель дроби в виде строки. Затем вызывается рекурсивный вызов Farey для числителя и знаменателя следующей дроби. В основной части кода считывается значение n с помощью функции readln, после чего вызывается рекурсивный вызов Farey с начальными значениями 0 и 1. Таким образом, данный код выводит все несокращаемые дроби, которые находятся в диапазоне от 0 до 1, знаменатель которых не превышают заданное число n.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

12   голосов , оценка 4 из 5
Похожие ответы