#include <gmp.h> #include <cstdlib> #include <iostream> //g++ -o x.gmp-factorial -I /mit/gp/gmp/arch/amd64_ubuntu1004/include gmp-factorial.cpp /mit/gp/gmp/arch/amd64_ubuntu1004/lib/libgmp.a int main(int argc,char**argv){ unsigned long int small=atoll(argv[1]); std::cout << small <<"! = "; mpz_t x; mpz_init(x); mpz_fac_ui(x,small); std::cout << mpz_sizeinbase(x,2) << " bits" << std::endl; }
ulimit -v 8388608
458994783! = 12544881660 bits
470012140! = 12862083270 bits
18 minutes
gmp-5.0.1
(11!)! = 950331113 bits on a smaller computer, 2 minutes 45 seconds. (vs 0 minutes 50 seconds on the same computer as above).
(12!)! = 479001600! is slightly out of reach with computers I easily have access to.
No comments :
Post a Comment