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