Так как язык не указан, приведу пример на 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).var a1: array[-1000..50] of integer; только одно правильное нашла.
const m1 = 20; m2 = m1*100;
var a6: array[m1..m2] of -200..200; вместо -200..200 надо было тип указать.
var a2: array[200..-111] of real; сначала отрицательное число.
const n: byte = 0;
var a5: array[-1000..n] of word; не надо указывать тип константы (byte).
var a9: array[0.0..20000.0] of byte; вот насчет этого не уверена, но мне кажется, что тут не надо дробную часть, потому что byte - целый тип.
type mass = array[1..100] of char; пишут не type, a var.
var a7: array[0..99] of mass; насколько мне известно, типа mass не существует.