Почему в ECLiPSe Прологе указана неполная цифра?
Я использую последнюю версию ECLiPSe Prolog 64-bit для Windows, затем компилирую код:
:- op(200, yf, !).
!(N, F) :- fac(N, 1, F).
fac(0, F0, F) :- !, F=F0.
fac(N, F0, F) :- N1 is N-1, F1 is F0*N, fac(N1, F1, F).
Введен запрос:
?- X is 100000 !.
X = 28242294079603478742934215200555696886678...
Yes (8.17s cpu)
Первый вопрос: почему в TkEclipse отображаются только цифры 1999 года, а не 456574?
Второй вопрос: Предлагает ли возможность протоколировать взаимодействие с пользователем в файле ECLiPSe Prolog в качестве протокола (+File) SWI-Prolog?
Я прошу прощения за два вопроса. Я буду благодарен за любую помощь, которую вы можете оказать.
2 ответа
ECLiPSe выводит полный результат в поток под названием answer_output
, но текст позже усекается графическим интерфейсом пользователя.
Самый простой способ получить результат в файл - это записать его там явно, например
?- open(myresult,write,S), X is 100000!, writeln(S,'X'=X), close(S).
Работает с DosEclipse от Версии 7.0 #36 (x86_64_nt):
Изменить 31.01.2018: время показывается одинаково, когда выход не генерируется.