Utilities
因數太大
我正在嘗試使用
factor
實用程序,但它告訴我數字太大。是否有任何實用程序可以做些什麼factor
但不能告訴數字太大?
也許你
factor
不是用 建構的GMP
,所以它不能處理大於2**64-1
:$ factor 18446744073709551616 factor: `18446744073709551616' is too large $ factor 18446744073709551615 18446744073709551615: 3 5 17 257 641 65537 6700417
執行此命令以檢查是否使用以下命令
factor
建構GMP
:$ ldd /usr/bin/factor linux-vdso.so.1 (0x00007fffda1fe000) libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007faae00f5000) libc.so.6 => /lib64/libc.so.6 (0x00007faadfd46000) /lib64/ld-linux-x86-64.so.2 (0x00007faae037c000)
某些機器上的限制可能更高(數字必須適合
uintmax_t
類型),但您的數字是 256 位數字,沒有普通機器支持這麼大的數字uintmax_t
,如果有的話。請注意,該
factor
實用程序可以在GMP支持下進行編譯。在這種情況下,數字的大小實際上沒有限制。您的發行版似乎沒有啟動 GMP 支持(這是有道理的,因為它會為核心系統包添加對額外庫的依賴以實現很少使用的功能)。如果你有
perl
,你可以嘗試factor.pl
在Math::Prime::Util
模組中包含程序:$ /home/cuonglm/.cpan/build/Math-Prime-Util-0.31-9c_xq3/bin/factor.pl 115792089237316195423570985008687907852837564279074904382605163141518161494337 115792089237316195423570985008687907852837564279074904382605163141518161494337: 115792089237316195423570985008687907852837564279074904382605163141518161494337