Процедура, выводящая на экран все делители переданного ей числа - Pascal ABC

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

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

Напишите процедуру, которая выводит на экран все делители переданного ей числа (в одну строчку)

Решение задачи: «Процедура, выводящая на экран все делители переданного ей числа»

textual
Листинг программы
Program task7;
 
Var i : integer;
 
procedure PrintAllDividers(n : integer; p : integer);
 
Begin
      if (p <= (n div 2)) then Begin
        if (n mod p) = 0 then Begin
            write(p);
            write(' ');
        end;
        PrintAllDividers(n,p+1);
      end;
End;
 
Begin
      write('i=');
      readln(i);
      PrintAllDividers(i,1);
      writeln;
End.

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

В данном коде объявлены две переменные: i и n. Затем определен метод PrintAllDividers, который принимает два аргумента: n (целое число) и p (целое число). Если p меньше или равно n/2, то выполняется проверка на делимость n на p. Если n делится на p без остатка, то это число выводится на экран вместе с пробелом. Затем вызывается рекурсивно метод PrintAllDividers для n+1 и p. В основной части кода введено число i, после чего вызывается метод PrintAllDividers для i, начиная с 1. После этого выводится символ новой строки.

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


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

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

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