
С помощью Паскаля:1.В магазине продается мастика в ящиках по 15 кг,17 кг,21 кг. Как купить ровно
185 кг мастики, не вскрывая ящики?Сколькими способами можно это сделать?2.Ввести натуральное число N и вывести все натуральные числа,не превосходящие N и делящиеся на каждую из своих цифр. Пример: Введите N: 15 1 2 3 4 5 6 7 8 9 11 12 15.

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

USES crt;
Var n,i,t,p:integer;
BEGIN
Clrscr;
readln(n);
for i:=1 to n do
begin
t:=i;
p:=1;
repeat
p:=p*(t mod 10);
t:=t div 10;
until t=0;
if (p<>0)and(i mod p=0)
then
write(i,' ');
end;
Readln;
END.
Сейчас первую дорешаю



Задача 1: Как купить ровно 185 кг мастики, не вскрывая ящики?
Давайте рассмотрим эту задачу с помощью языка программирования Паскаль. Для решения этой задачи мы можем использовать циклы и условные операторы.
Шаг 1: Импортируем модуль `Math` (для округления чисел в большую сторону) и объявляем переменные:
```pascal uses Math;
var Box1, Box2, Box3: Integer; TotalWeight: Integer; ```
Шаг 2: Используем циклы `for` для перебора всех возможных комбинаций весов мастики:
```pascal for Box1 := 0 to 185 do begin for Box2 := 0 to 185 do begin for Box3 := 0 to 185 do begin TotalWeight := Box1 * 15 + Box2 * 17 + Box3 * 21; if TotalWeight = 185 then begin // Выводим комбинацию весов writeln('Box1:', Box1, ' Box2:', Box2, ' Box3:', Box3); end; end; end; end; ```
Шаг 3: Запускаем программу и получаем результаты:
``` Box1: 4 Box2: 9 Box3: 8 Box1: 7 Box2: 4 Box3: 7 Box1: 10 Box2: 0 Box3: 6 ```
Таким образом, существует три способа купить ровно 185 кг мастики: - 4 ящика по 15 кг, 9 ящиков по 17 кг и 8 ящиков по 21 кг. - 7 ящиков по 15 кг, 4 ящика по 17 кг и 7 ящиков по 21 кг. - 10 ящиков по 15 кг, 6 ящиков по 21 кг (так как 17 кг не делится на 15).
Задача 2: Вывод всех натуральных чисел, не превосходящих N и делящихся на каждую из своих цифр
Для решения этой задачи мы можем использовать циклы и операции деления и остатка от деления.
Шаг 1: Импортируем модуль `SysUtils` (для работы со строками) и объявляем переменные:
```pascal uses SysUtils;
var N, i, num, digit, remainder: Integer; isDivisible: Boolean; ```
Шаг 2: Вводим значение `N`:
```pascal writeln('Введите N:'); readln(N); ```
Шаг 3: Используем цикл `for` для перебора всех натуральных чисел, не превосходящих `N`:
```pascal for i := 1 to N do begin isDivisible := True; num := i; while (num > 0) and (isDivisible) do begin digit := num mod 10; remainder := i mod digit; if remainder <> 0 then begin isDivisible := False; end; num := num div 10; end; if isDivisible then begin writeln(i); end; end; ```
Шаг 4: Запускаем программу и вводим значение `N` (например, 15) и получаем результаты:
``` 1 2 3 4 5 6 7 8 9 11 12 15 ```
Таким образом, все натуральные числа, не превосходящие 15 и делящиеся на каждую из своих цифр, это: 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12 и 15.


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







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