Вычислить сумму ряда на Prolog

Помечено: ,

  • В этой теме 0 ответов, 1 участник, последнее обновление 4 месяца назад сделано Васильев Владимир Сергеевич.
Просмотр 0 веток ответов
  • Автор
    Сообщения
    • #6502
      @admin
      StudLance.ru

      Посчитать последовательность:
      1 + 1/2 + 1/3 + .... + 1/n

      Нужно выполнить на SWI Prolog.

      Решение:
      1) Берем исходник из соседней темы — там считалась сумма чисел 1 + 2 + 3 + ... + N на Visual Prolog, однако чтобы этот код работал в SWI Prolog достаточно заменить оператор = на is.

      2) Изменяем рассчет очередного слена ряда — вместо
      Sum is NextSum + N.
      пишем
      Sum is 1/NextSum + N.

      3) программа готова:

        sum(1, 1):-!.
        sum(N, Sum):-
          NextN is N - 1,
          sum(NextN, NextSum),
          Sum is 1/NextSum + N.

      Примеры использования и входных данных:

      StudLance.ru

Просмотр 0 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.
×