Предмет: Информатика, автор: gevgeniy2500

Напишите программу: С клавиатуры вводится трёхзначное число (число десятков и число единиц не равна 0), проверить делится ли оно на каждую из своих цифр.

Ответы

Автор ответа: MaxLevs
1

Так как язык не указан, приведу пример на SWI-Prolog.

Код:

  • read_int(Int) :- read(Int), integer(Int).
  • split_int_by_numbers(0, []) :- !.
  • split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).
  • test_to_div(_, []).
  • test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints).
  • test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.
  • test(Int) :- write(Int), write(" - No!"), nl.
  • ?- read_int(Int), test(Int).
Приложения:
Интересные вопросы
Предмет: Алгебра, автор: nazar32reyj