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

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

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

Для заданного натурального значения n вывести в порядке возрастания все правильные дроби, знаменатели которых не превышают n.

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

textual
Листинг программы
  1. uses crt;
  2. function NOD(a,b:integer):integer;
  3. begin
  4. while a<>b do
  5. if a>b then a:=a-b else b:=b-a;
  6. NOD:=a
  7. end;
  8. var i,j,n:integer;
  9. begin
  10. clrscr;
  11. write('n=');
  12. readln(n);
  13. for i:=2 to n do
  14. for j:=1 to i-1 do
  15. if NOD(i,j)=1
  16. then write(j,'/',i,' ');
  17. readln
  18. end.

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

  1. В функции NOD(a,b:integer):integer; выполняется поиск НОД(наибольшего общего делителя) двух целых чисел a и b.
  2. Переменная i используется в цикле для первого параметра функции NOD, а переменная j — для второго параметра.
  3. Цикл for i:=2 to n do начинается с i=2 и выполняется до тех пор, пока i меньше или равно n.
  4. Цикл for j:=1 to i-1 do начинается с j=1 и выполняется до тех пор, пока j меньше i-1.
  5. Если NOD(i,j)=1, то это означает, что i и j являются делителями друг друга, и программа выводит их в формате j/i.
  6. Переменная n содержит число, которое считывается с помощью readln(n).
  7. Цикл for i:=2 to n do выполняет поиск всех делителей числа n, начиная с 2 и до n.
  8. Цикл for j:=1 to i-1 do проверяет все числа от 1 до i-1 на предмет того, являются ли они делителями числа n.
  9. Если функция NOD(a,b:integer):integer; возвращает 1, то это означает, что a и b являются делителями друг друга, и программа выводит их в формате j/i.
  10. Программа завершается после выполнения всех итераций циклов и выводит результат.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы