补充说明
factor 是 GNU coreutils 的小工具,把一个或多个正整数分解为质因数乘积。它使用 Pollard rho 等算法,对普通 64 位整数很快,也支持通过标准输入批量处理。
输出格式为 数字: 因子 因子 ...,因子按升序排列并重复列出。大于 2^64 的数需要 GMP 支持(coreutils 编译时启用),否则可能报错或结果受限。0 和 1 没有质因数,输出为空的因子列表。
常见用途:数学验算、RSA 教学中的小模数分解、脚本里快速判断质数(输出只有一个因子即质数)。注意它不做素性证明,超大数分解可能极慢。
没有参数时从标准输入逐行读取,适合与 seq、shuf 等命令组合。它不会修改任何文件,是纯计算工具。
语法
factor [数字 ...]
选项
--help:显示帮助;--version:显示版本。
实例
# 分解单个数
factor 360
# 输出:360: 2 2 2 3 3 5
# 一次分解多个数
factor 97 100 1234567
# 从标准输入读取
seq 20 30 | factor
# 判断是否为质数:输出仅含自身
factor 104729
# 分解一个较大的数(可能需要一些时间)
factor 600851475143