Двадцать лет назад я собирался изучить
Prolog. Купил даже книгу Ивана Братко "Программирование на языке Пролог для искусственного интеллекта". Так бы она и пылилась на полке, если бы не Гедымин и очередной наш технологический прорыв на стыке пост-реляционных технологий и функционального программирования.
А вот и собственноручно написанный код. Решение первой задачи
Проекта Ойлера:
my_sum(From, To, C, C2, S) :-
From < To,
( From mod C =:= 0; From mod C2 =:= 0 ),
Next is From + 1,
my_sum(Next, To, C, C2, T),
S is T + From.
my_sum(From, To, C, C2, S) :-
From < To,
From mod C =\= 0,
From mod C2 =\= 0,
Next is From + 1,
my_sum(Next, To, C, C2, T),
S is T.
my_sum(From, To, _, _, S) :-
From = To,
S is 0.
PS: Надо же:
Леонард Ойлер оказывается родился в Базеле ))