Определить рекурсивный предикат, проверяющий, является ли натуральное число совершенным - Prolog

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

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

Помогите пожалуйста добрые люди!!! на прологе прогу не могу написать ,ничего не понимаю, буду очень благодарен 1. Определить рекурсивный предикат проверяющий, является ли натуральное число совершенным (число равно сумме своих делителей, например 6=3+2+1).

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

textual
Листинг программы
predicates
sum_div(integer,integer,integer)
is_perfect(integer)
 
clauses
sum_div(N,K,0) :- K>N/2, !.
sum_div(N,K,S) :- N mod K = 0, K1=K+1, sum_div(N,K1,S1), S=S1+K.
sum_div(N,K,S) :- N mod K <> 0, K1=K+1, sum_div(N,K1,S).
 
is_perfect(X) :- sum_div(X,2,U), X=U+1.

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


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

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

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