2017-12-08 3 views
1

ich die neueste Version von Eclipse Prolog 64-Bit für Windows verwenden, dann kompilieren ich den Code:Warum wird in ECLiPSe Prolog eine B-Nummer unvollständig angezeigt?

:- 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). 

Abfrage eingegeben:

?- X is 100000 !. 
X = 28242294079603478742934215200555696886678... 
Yes (8.17s cpu) 

Erste Frage: Warum nur 1999 Ziffern zeigt und nein die 456574 vollständige Ziffern in TkEclipse?

Zweite Frage: Bietet die Möglichkeit, die Interaktion mit dem Benutzer auf einer Datei ECLIPSE Prolog als Protokoll (+ File) von SWI-Prolog anmelden?

Es tut mir leid, zwei Fragen zu tun. Ich werde für jede Hilfe dankbar sein, die Sie zur Verfügung stellen können.

+1

Scheint Tk-spezifisch zu sein. Die <500k Zeichen werden sonst gedruckt. – false

Antwort

1

ECLiPSe druckt das vollständige Ergebnis in einem Stream namens answer_output, aber der Text wird später von der grafischen Benutzeroberfläche abgeschnitten.

Der einfachste Weg, um das Ergebnis in eine Datei zu bekommen, ist, es dort explizit zu schreiben, z.

?- open(myresult,write,S), X is 100000!, writeln(S,'X'=X), close(S). 
1

Arbeiten mit DosEclipse von Version 7.0 # 36 (x86_64_nt):

enter image description here

bearbeiten 2018.01.31: Zeit die gleiche angezeigt, wenn keine Ausgabe erzeugt wird.

Verwandte Themen