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

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

Задача

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

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

Составим функцию f(a), которая проверяет, делится ли число a на каждую свою цифру.

Идея такая:

  • берём число a;
  • по очереди выделяем его последнюю цифру m = a mod 10;
  • если цифра равна нулю, число не подходит, так как деление на ноль невозможно;
  • если a mod m ≠ 0, то число тоже не подходит;
  • убираем последнюю цифру: a div 10;
  • если все цифры проверены успешно, функция возвращает true.

Затем в основной программе перебираем все числа от 1 до n и выводим те, для которых функция f(i) истинна.

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

Ответ

Программа перебирает числа от 1 до n и выводит те, которые делятся на каждую свою цифру.



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