
Pascal ABC
Код:
var
a: array [1..3] of string;
i, j, k: integer;
begin
readln(a[1],a[2],a[3]);
for i := 1 to 3 do
for j := 1 to 3 do
for k := 1 to 3 do
if (i <> j) and (i <> k) and (j <> k) then
writeln(a[i], ' ', a[j], ' ', a[k]);
end.
Пример работы:
Ввод:
КРАСНЫЕ
ЛАНДЫШИ
ЦВЕТУТ
Вывод:
КРАСНЫЕ ЛАНДЫШИ ЦВЕТУТ
КРАСНЫЕ ЦВЕТУТ ЛАНДЫШИ
ЛАНДЫШИ КРАСНЫЕ ЦВЕТУТ
ЛАНДЫШИ ЦВЕТУТ КРАСНЫЕ
ЦВЕТУТ КРАСНЫЕ ЛАНДЫШИ
ЦВЕТУТ ЛАНДЫШИ КРАСНЫЕ
Так как язык не указан, приведу пример на 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).
