Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Пролог (http://www.tehnari.ru/f22/t88755/)

shrek=) 04.06.2013 15:50

Пролог
 
Доброго времени суток.
Есть ли у нас на форуме люди способные помочь с пролог'ом?
Очень буду признателен.
Создать предикат определяющий количество четных элементов многоуровнего списка(элемент считается четным если состоит из четного числа атомов)

shrek=) 08.06.2013 18:05

Додумался сам:
Код:

len([],0) :- !.
len([_|T], N) :- len(T,N1), N is N1+1.

ce([],0):-!.
ce([X],1):-atomic(X), X mod 2 =:= 0,!.
ce([X],1):-len(X,L), L mod 2 =:= 0,!.
ce([X|T],N):-atomic(X),X mod 2 =:= 0, ce(T,N1), N is N1+1,!.
ce([X|T],N):-atomic(X), X mod 2 =\= 0, ce(T,N),!.
ce([X|T],N):-len(X,L),L mod 2 =:= 0, ce(T,N1), N is N1+1,!.
ce([_|T],N):-ce(T,N).

Оказалось не так то уж и сложно.


Часовой пояс GMT +4, время: 09:35.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.