Вопрос задан 16.10.2026 в 19:19. Предмет Информатика. Спрашивает Кричфалушій Віталіна.

ПОМОГИТЕ, ПОЖАЛУЙСТА!!!!! ОЧЕНЬ СРОЧНО!!!!!!
Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр.
с использованием подпрограммы

Перейти к ответам

Ответы на вопрос

Отвечает Дмитриев Даня.

Нужно проверить каждое число от \(1\) до \(n\). Число подходит, если оно делится без остатка на каждую свою цифру. Числа с цифрой \(0\) не подходят: на ноль делить нельзя.

Подпрограмма проверяет одно число:

function Podhodit(x: integer): boolean;
var y, c: integer;
begin
  y := x;
  Podhodit := true;
  while y > 0 do
  begin
    c := y mod 10;
    if (c = 0) or (x mod c <> 0) then
    begin
      Podhodit := false;
      exit;
    end;
    y := y div 10;
  end;
end;

Основная программа:

readln(n);
for i := 1 to n do
  if Podhodit(i) then writeln(i);

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос