Sea Yellow's Website

第一次使用C++非标准库

最近受到BOINC项目Collatz Conjecture,也就是3n+1猜想的鼓舞,想自己写一个程序计算某个超大数字需要多少步到1。为了写这个程序,我需要使用一个大数运算库(准确来说是Arbitrary Precision Arithmetic Library),然后我选择了一个比较简单的C++ Big Integer Library,然后笨笨地把里面的*.cc文件和自己写的main.cpp挨个添加到make.bat中,最后得到一个批处理文件make.bat,里面写着

g++ main.cpp bigint\BigInteger.cc bigint\BigIntegerAlgorithms.cc bigint\BigIntegerUtils.cc bigint\BigUnsigned.cc bigint\BigUnsignedInABase.cc -O2 -w -static -o main

然后运行它,得到了一个main.exe,在cmd里执行

最后不用说,我算出了一个超大数字的步数,可能这个数字是有史以来我第一次算步数的呢(有点小激动,这个数字是属于我的!)。有点类似于你可以写一个小程序,然后计算出一堆几百位的质数,而且这些质数中很可能有一些质数是过去从来没有人算出过的!