Вопрос задан 18.01.2020 в 01:13. Предмет Информатика. Спрашивает Дюбанов Слава.

Помогите пожалуйста, очень срочно. Составьте программу на Паскале(с помощью циклических алгоритмов

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Плотникова Виктория.
Var N,B,k:integer;
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.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Приведу пример программы на языке Паскаль, которая находит все натуральные числа, не превосходящие 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, которые делятся на каждую из своих цифр.

0 0

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

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

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