Так как язык не указан, приведу пример на SWI-Prolog.
Код:
ЯП: C++
#include <iostream>
int main() {
int number;
std::cout << "Введите трехзначное число: "<< std::endl;
std::cin >> number;
int first_part = number / 100;
int second_part = (number / 10) % 10;
int third_part = number % 10;
if ((first_part) && (second_part) && (third_part))
{
std::cout << "Вы ввели число: " << number << std::endl;
if ((!(number % first_part)) && (!(number % second_part)) && (!(number % third_part)))
std::cout << "Число делится нацело!" << std::endl;
else
std::cout << "Число не делится нацело!" << std::endl;
}
std::cout<< "Число НЕ должно содержать нулей!";
return 0;
Объяснение:
Так как язык не указан, приведу пример на 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).ЯП: C++
#include <iostream>
int main() {
int number;
std::cout << "Введите трехзначное число: "<< std::endl;
std::cin >> number;
int first_part = number / 100;
int second_part = (number / 10) % 10;
int third_part = number % 10;
if ((first_part) && (second_part) && (third_part))
{
std::cout << "Вы ввели число: " << number << std::endl;
if ((!(number % first_part)) && (!(number % second_part)) && (!(number % third_part)))
std::cout << "Число делится нацело!" << std::endl;
else
std::cout << "Число не делится нацело!" << std::endl;
}
else
{
std::cout<< "Число НЕ должно содержать нулей!";
}
return 0;
}
Объяснение: