Главная
»
Информационные системы
»
Представление знаний в ИС
»
Определите предикат для вычисления суммы двоичных цифр числа
Определите предикат для вычисления суммы двоичных цифр числа
При любом входном значении - всегда единица.
% Bilet14
% Patched 14.01.13
% To start type: jstart.
razList(S,L):-S<10,L=[S].
razList(S,L):-S>10, X is S mod 10,Y is S //10, razList(Y,L1),L=[X|L1].
%sumbin([],0).
%sumbin
%sumbin([X|[]],X).
sumbin([],0).
sumbin([H|T],X):-H=1, sumbin(T,X1), X is X1+1,!.
sumbin([H|T],X):-sumbin(T,X).
predikat(X,Y):-razList(X,L),sumbin(L,Y).
jstart:- write(' Vvedite chislo: '),nl,read(IJAM1),nl,
predikat(IJAM1,Y),
write(' Summa='),
write(Y).
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.