Найти количество тех элементов массива, которые являются степенями четверки - Prolog

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

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

Найти количество тех элементов массива, которые являются степенями четверки

Решение задачи: «Найти количество тех элементов массива, которые являются степенями четверки»

textual
Листинг программы
domains
int=integer
intl=int*
 
predicates
isPowerN(int,int)
task(intl,int)
 
clauses
isPowerN(1,_).
isPowerN(K,N) :- (K mod N) <> 0, fail, !.
isPowerN(K,N) :- (K mod N) = 0, K1=K div 4, isPowerN(K1,N).
 
task([],0).
task([H|T],N) :- isPowerN(H,4), task(T,N1), N=N1+1.
task([H|T],N) :- not(isPowerN(H,4)), task(T,N).

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


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

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

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