
Помогите пожалуйста, очень срочно. Составьте программу на Паскале(с помощью циклических алгоритмов
(простых и вложенных),используя операции целочисленной арифметики): Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр. И если можно, добавьте описание к строчкам, чтобы понять, что Вы делали; просто не всегда бывает понятна суть программы. Заранее спасибо).

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

Begin
Write('N = ');ReadLn(N);
Write('Искомые числа:');
For N:= 1 to N do
Begin
B:=N;
k:=1;
// перед каждой проверкой k:=1
// и если число не делится на любую из своих цифр, то k:=0
While B > 0 do
Begin
if B mod 10 = 0 then k:=0
// B mod 10 - это остаток от деления B на 10
// то есть, например, 123 mod 10 = 3
else if N mod (B mod 10) > 0 then k:=0;
B:=B div 10
// целая часть от деления B на 10
// 123 div 10 = 12
End;
if k = 1 then Write(' ',N)
End;
End.



Приведу пример программы на языке Паскаль, которая находит все натуральные числа, не превосходящие n, которые делятся на каждую из своих цифр:
``` program FindNumbers;
var n, num, digit, temp: integer;
begin // Вводим значение для n writeln('Введите число n:'); readln(n); // Цикл для перебора чисел от 1 до n for num := 1 to n do begin temp := num; // Флаг, указывающий, делится ли число на каждую из своих цифр varFlag := true; // Цикл для проверки деления числа на каждую из своих цифр while temp > 0 do begin digit := temp mod 10; // Получаем последнюю цифру числа // Если число num не делится на цифру digit, меняем флаг и выходим из цикла if (digit <> 0) and (num mod digit <> 0) then begin varFlag := false; break; end; temp := temp div 10; // Удаляем последнюю цифру числа end; // Если число делится на каждую из своих цифр, выводим его if varFlag = true then writeln(num); end; end. ```
Описание программы: 1. Пользователь вводит значение для переменной n. 2. Программа выполняет цикл по числам от 1 до n. 3. Внутри цикла каждое число разбивается на цифры с помощью цикла while. 4. Проверяется, делится ли число на каждую из своих цифр, и устанавливается флаг (`varFlag`). 5. Если флаг `varFlag` равен true, то число выводится на экран. Если флаг равен false, число не выводится. 6. Программа завершается после выполнения всех итераций цикла.
Таким образом, программа находит и выводит все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili