Так как язык не указан, приведу пример на 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).
#include <iostream>
int main() {
int N;
int M;
int sum = 0;
std::cout << "N: ";
std::cin >> N;
std::cout << "M: ";
std::cin >> M;
int *hemming = new int[M - N + 1];
int counter = 0;
for (int i = N; i <= M; ++i) {
if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0) {
std::cout << i << " ";
hemming[counter] = i;
sum += hemming[counter];
++counter;
}
}
std::cout << std::endl << sum;
}