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

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

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

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

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

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

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

10   голосов , оценка 4.1 из 5
Похожие ответы