Проверка условия перед запуском рекурсии - Prolog

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите разобраться. Задача такая: вводится число. Найти сумму квадратов нечетных чисел. Программа работает, если вводится нечетное число, код несложный. Но я захотела усовершенствовать задачу: проверить что это за число и если оно нечетное (то есть A mod 2<>0), то запустить рекурсию, а если четное, то вычислить ближайшее нечетное и потом запустить рекурсию. В Паскале получается без проблем, но вот в Прологе(Swipl)... Это можно как-то реализовать или нет? Помогите - очень сложно переходить с одного стиля программирования на другой. Где-то "затык". Рекурсия
Листинг программы
  1. sum(1,1): - !.
  2. sum(A,S):- A1 is A-2, sum(A1,S1), S is S1+A*A. (N нечетное).

Решение задачи: «Проверка условия перед запуском рекурсии»

textual
Листинг программы
  1. sum(A,S) :-
  2.     A mod 2 =:= 0,
  3.     !,
  4.     A1 is A-1,
  5.     sum(A1, S).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут