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

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

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

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

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

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

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


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

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

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

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

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

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