Most computers can perform the operations of subtraction, testing the parity (odd or even) of a binary

Question:

Most computers can perform the operations of subtraction, testing the parity (odd or even) of a binary integer, and halving more quickly than computing remainders. This problem investigates the binary gcd algorithm, which avoids the remainder computations used in Euclid's algorithm.

a. Prove that if a and b are both even, then gcd (a, b) = 2 · gcd (a/2, b/2).

b. Prove that if a is odd and b is even, then gcd (a, b) = gcd (a, b/2).

c. Prove that if a and b are both odd, then gcd (a, b) = gcd ((a − b)/2, b).

d. Design an efficient binary gcd algorithm for input integers a and b, where

a ≥ b, that runs in O(lg a) time. Assume that each subtraction, parity test, and halving takes unit time.

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question

Introduction to Algorithms

ISBN: 978-0262033848

3rd edition

Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest

Question Posted: