搜索
算法 - linux factor最大数
大家讲道理
大家讲道理 2017-04-17 17:08:08
[Linux讨论组]

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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
迷茫

查看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
阿神

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

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

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

ringa_lee

有人么......

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号