Рекурсивный предикат для подсчета суммы всех делителей натурального числа - Prolog

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

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

Определить рекурсивный предикат для подсчета суммы всех делителей натурального числа.

Решение задачи: «Рекурсивный предикат для подсчета суммы всех делителей натурального числа»

textual
Листинг программы
  1. predicates
  2. sum_div(integer,integer,integer)
  3. task(integer,integer)
  4.  
  5. clauses
  6. sum_div(N,K,0) :- K > (N div 2), !.
  7. sum_div(N,K,R) :- (N mod K) <> 0, K1=K+1, sum_div(N,K1,R).
  8. sum_div(N,K,R) :- (N mod K)  = 0, K1=K+1, sum_div(N,K1,R1), R=R1+K.
  9.  
  10. task(N,R) :- sum_div(N,2,R).

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


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

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

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

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

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

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