【问题标题】:Why a bignumber is shown incomplete in ECLiPSe Prolog?为什么大数字在 ECLiPSe Prolog 中显示不完整?
【发布时间】:2017-12-08 23:50:30
【问题描述】:

我使用最新版本的 ECLiPSe Prolog 64-bit for 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 上作为 SWI-Prolog 的协议(+文件)?

对不起,我做了两个问题。如果您能提供任何帮助,我将不胜感激。

【问题讨论】:

  • 似乎是特定于 Tk 的。否则将打印

标签: logging prolog bignum eclipse-clp


【解决方案1】:

适用于版本 7.0 #36 (x86_64_nt) 的 DosEclipse:

编辑 31.01.2018: 没有生成输出时显示的时间相同。

【讨论】:

    【解决方案2】:

    ECLiPSe 确实将完整的结果打印到名为 answer_output 的流中,但文本稍后会被图形用户界面截断。

    将结果写入文件的最简单方法是将其显式写入其中,例如

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多