1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.4 Упр.6 Задание 3 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.4 Упр.6 Задание 3 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 6. Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-4/zad3/6 98

Подробный ответ

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



Общая оценка
4.9 / 5
Другие учебники
Другие предметы