Так как язык не указан, приведу пример на 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 a:array[1..n] of integer;
i,k:integer;
begin
Randomize;
writeln('Оценки:');
for i:=1 to n do
begin
a[i]:=random(4)+2;
write(a[i]:3);
end;
writeln;
k:=0;
for i:=1 to n do
if a[i]=2 then k:=k+1;
writeln('k = ',k);
end.
Пример:
Оценки:
3 4 4 2 5 2 5 4 5 3 3 5 2 5 5 3 3 3 3 5 5 3 5 4 5
k = 3