gpt4 book ai didi

algorithm - 大数的数学表示?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:48 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数将大量数字(长度超过 800 位)作为输入并返回一个不包含复杂数学的简单公式作为字符串。

通过简单的数学运算,我的意思是根据需要使用 +、-、*、/、^()数字

'4^25+2^32' = giveMeMath(1125904201809920);//示例

任何语言都可以。我可以重构它,只是在逻辑上寻求一些帮助。

奖金。输出越短越好。处理时间很重要。此外,数学准确性也是必须的。

更新:澄清一下,所有输入值都是正整数(没有小数)

最佳答案

我认为整个问题可以改写为 run-length encoding长整数的二进制表示问题。

例如,取下面的数字:

17976931348623159077293051907890247336179769789423065727343008115773
26758055009631327084773224075360211201138798713933576587897688144166
22492847430639474110969959963482268385702277221395399966640087262359
69162804527670696057843280792693630866652907025992282065272811175389
6392184596904358265409895975218053120L

这看起来相当可怕。不过,在二进制中:

>>> bin(_)
'0b11111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111100000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000
0000000'

大约有 500 个 1,后面跟着 500 个 0。这表明像这样的表达式:

2**1024 - 2**512

这就是我最初获得大数字的方式。

如果整数的二进制表示中没有明显较长的运行,则此方法根本无法正常工作。 101010101010101010.... 是最坏的情况。

关于algorithm - 大数的数学表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10274686/

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