Так как язык не указан, приведу пример на 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).

Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперёд (где – целое число), вызывающая передвижение Черепашки на шагов в направлении движения.
Направо (где – целое число), вызывающая изменение направления движения на градусов по часовой стрелке.
Запись Повтори [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится раз.
Черепашке был дан для исполнения следующий алгоритм:
Повтори 360 [Вперёд 30 Направо 60]
Какая фигура появится на экране?
правильный -угольник
правильный треугольник
правильный шестиугольник
незамкнутая ломаная линия
Объяснение:
Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперёд (где – целое число), вызывающая передвижение Черепашки на шагов в направлении движения.
Направо (где – целое число), вызывающая изменение направления движения на градусов по часовой стрелке.
Запись Повтори [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится раз.
Черепашке был дан для исполнения следующий алгоритм:
Повтори 360 [Вперёд 30 Направо 60]
Какая фигура появится на экране?
правильный -угольник
правильный треугольник
правильный шестиугольник
незамкнутая ломаная линия