Рекурсивный предикат для подсчета суммы всех делителей натурального числа - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д