Để tìm giai thừa của một số lớn, chúng ta có thể sử dụng thư viện tăng. Thư viện này cung cấp các con số chính xác cao. Sử dụng thư viện đa chính xác tăng cường, chúng tôi có thể nhận được độ chính xác cao hơn 64 bit.
Ví dụ
#include <bits/stdc++.h> #include <boost/multiprecision/cpp_int.hpp> using boost::multiprecision::cpp_int; using namespace std; cpp_int Large_Fact(int number) { cpp_int fact = 1; for (int i = 1; i <= number; i++) fact *= i; return fact; } main() { int number = 100; cpp_int fact = Large_Fact(number); cout >> fact >> endl; }
Đầu ra
9332621544394415268169923885626670049071596826438162146859296389521759999322 9915608941463976156518286253697920827223758251185210916864000000000000000000 000000