Работа 3.4 Упр.6 Задание 3 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Класс
10
Предмет
Информатика
Автор
Семакин, Хеннер, Шеина
Работа 3.4 Упр.6 Задание 3 ГДЗ Семакин 10 класс (Информатика)
Задача
- Найти все натуральные числа, не превосходящие заданного $$n$$, которые делятся на каждую из своих цифр.
Подробный ответ
Составим функцию, которая проверяет число $$a$$. Будем последовательно выделять его цифры:
- берём последнюю цифру $$m = a \bmod 10$$;
- если цифра равна $$0$$, то число не подходит, так как на ноль делить нельзя;
- если $$a \bmod m \ne 0$$, то число тоже не подходит;
- убираем последнюю цифру: $$a := a \div 10$$;
- повторяем, пока $$a > 0$$.
Если все цифры прошли проверку, функция возвращает true. Затем перебираем все числа от $$1$$ до $$n$$ и выводим те, для которых функция истинна.
var n,i:integer;
function f(a:integer):boolean;
var k,m:integer; b:boolean;
begin
b:=true;
k:=a;
while k>0 do
begin
m:=k mod 10;
if (m=0) or (a mod m <> 0) then b:=false;
k:=k div 10;
end;
f:=b;
end;
begin
write(‘n = ‘);
readln(n);
for i:=1 to n do
if f(i) then write(i,’ ‘);
end.
Ответ
Программа выводит все натуральные числа, не превосходящие $$n$$, которые делятся на каждую из своих цифр.
Другие учебники
Другие предметы

