Big Numbers: Functions
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. Integer->big
and 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.