8 авг. 2013 г.

Первые шаги в функциональном программировании

Двадцать лет назад я собирался изучить 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: Надо же: Леонард Ойлер оказывается родился в Базеле ))

Комментариев нет:

Отправить комментарий