gpt4 book ai didi

numbers - 千里马。如何防止学位计算

转载 作者:行者123 更新时间:2023-12-04 09:36:21 27 4
gpt4 key购买 nike

是否有可能阻止幂中数字表达式中的所有计算?也许通过预处理表达式或添加 tellimp 规则?还是其他方式?
例如,到

distrib (10 ^ 10 * (x + 1)); 
它产生:
1000000000 x + 1000000000
而是发出:
10 ^ 10 * x + 10 ^ 10
同样
factor (10 ^ 10 * x + 10 ^ 10);
回来:
10 ^ 10 * (x + 1);
就像
factor(200);
2^3*5^2
代表数字的力量,只是永久的?

最佳答案

有趣的问题,虽然我没有看到一个好的解决方案。这是我作为实验尝试过的东西,它以因式分解的形式显示整数。我正在使用 Maxima 5.44.0 + SBCL。

(%i1) :lisp (defun integer-formatter (x) ($factor x))
INTEGER-FORMATTER
(%i1) :lisp (setf (get 'integer 'formatter) 'integer-formatter)
INTEGER-FORMATTER
(%i1) (x + 1000)^3;
3 3 3
(%o1) (x + 2 5 )
(%i2) 10^10*(x + 1);
2 5 2 5
(%o2) (2 5 ) (x + 1)
这只是对显示的修改;内部表示只是一个整数。
(%i3) :lisp $%
((MTIMES SIMP) 10000000000 ((MPLUS SIMP) 1 $X))
这似乎有点笨拙,因为例如 2^(2*5)*5^(2*5)并不比 10000000000更容易理解.
一个单独的问题是 10^10 上的算术是否可以可以被抑制,所以它实际上保持为 10^10并且不在内部表示为 10000000000 .我很确定那会很困难。不幸的是,Maxima 不太擅长收回所应用的身份,特别是用于执行算术和其他操作的内置身份。

关于numbers - 千里马。如何防止学位计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62567527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com