linux factor最大数

发布于 2022-09-04 19:00:02 字数 61 浏览 14 评论 0

Linux下有个factor命令,用来分解质因数 请问最大能分解多少位数,可以用这个命令进行大数分解么,求教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

§普罗旺斯的薰衣草 2022-09-11 19:00:02

查看man没有关于输入数值的范围要求,测试发现39位数以内都没问题,39位数其中一部分可以,太大提示“'……' is too large”
测试输入最大值在1.7013e39~1.7015e39之间,如果感兴趣,你可以逐个改变数值测试最大值。

cnbubble@DESKTOP:~/test$ factor 170150000000000000000000000000000000000
factor: ‘170150000000000000000000000000000000000’ is too large
cnbubble@DESKTOP:~/test$ factor 170130000000000000000000000000000000000
170130000000000000000000000000000000000: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 53 107
cnbubble@DESKTOP:~/test$ echo '170130000000000000000000000000000000000' |awk '{print length($0)}'
39
过度放纵 2022-09-11 19:00:02

你可以试试去读源代码:
linux/factor.c

我看了一下,应该是 uintmax_t 类型的上限,也就是 UINTMAX_MAX。

我刚刚使用了64位 Windows 10 的 Ubuntu子系统,测试了一下,上限是 2**127 - 1。
也就是 170141183460469231731687303715884105727。
(170141183460469231731687303715884105728 开始提示too large)

世界如花海般美丽 2022-09-11 19:00:02

有人么......

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文