#include <iostream> #include <gmp.h> #include <gmpxx.h> using namespace std; int length; int main() { mpz_t sum; mpz_init(sum); mpz_t n1; mpz_init(n1); mpz_t dsum; mpz_init(dsum); mpz_fac_ui(n1, 100); gmp_printf("%Zd\n",n1); length = mpz_sizeinbase(n1, 10); for(int i=0; i<length; i++) { mpz_mod_ui(dsum, n1, 10); mpz_add(sum, sum, dsum); mpz_fdiv_q_ui(n1, n1, 10); } gmp_printf("%Zd\n",sum); return 0; }