#include #include uint64_t fibonacci( void ) { const int n = 25000; uint64_t a = 0, b = 1, c; for (int i = 2; i <= n; i++) { c = a + b; a = b; b = c; } return b; } char* fibonacci_gmp() { const int n = 25000; static char result[10000]; // Assicurati che sia abbastanza grande per contenere il numero mpz_t a, b, c; mpz_init_set_ui(a, 0); mpz_init_set_ui(b, 1); mpz_init(c); for (int i = 2; i <= n; i++) { mpz_add(c, a, b); mpz_set(a, b); mpz_set(b, c); } mpz_get_str(result, 10, b); mpz_clear(a); mpz_clear(b); mpz_clear(c); return result; }