Разработайте программу, которая задаёт пользователю три во о том, какие числа ему нравятся (например "Вам нравятся числа, кратные 3?", "Вам нравятся двузначные числа?", "Вам нравятся числа, оканчивающиеся цифрой 4?" и т.п., во придумаете сами). Получив от пользователя три ответа можно сделать так, чтобы это были не ДА и НЕТ, а True или False), программа пользователя ввести число и выводит, нравится оно пользователю или нет. Будем считать, что число нравится пользователю в том случае, если оно обладает всеми "нравящимися" свойствами и не обладает ни одним "не нравящимся".
Постарайтесь свести решение о том, нравится ли число пользователю, к одному логическому выражению, содержащему логические переменные, операции сравнения и логические операции.
Написать на Visual Basic
Так как язык не указан, приведу пример на 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).