June 28, 2011
In today’s exercise we complete the big number library that we have been building over the past several exercises with a handful of useful functions.
Big-gcd finds the greatest common denominator of two big numbers.
Big-expt raises a big number to a power.
Big-expm raises a big number to a power, modulo another big number.
Big-sqrt calculates the square root of a big number.
Big-rand returns a random big number, and optionally resets the seed of the random number generator.
big->integer are optional; if the underlying language supports big numbers natively, these functions convert between our big numbers and native big numbers.
Your task is to complete the big number library. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.