Introduction to Algorithms
Introduction to Algorithms
3rd Edition
ISBN: 9780262033848
Author: Thomas H. Cormen, Ronald L. Rivest, Charles E. Leiserson, Clifford Stein
Publisher: MIT Press
Question
Book Icon
Chapter 31, Problem 1P

(a)

Program Plan Intro

To prove that if both a and b are even, then gcd(a,b)=2×gcd(a2,b2)

(a)

Expert Solution
Check Mark

Explanation of Solution

If a and b are both even, then it can be written that = 2(a2) and b = 2(b2) , such that all the factors stated are integers. Therefore by using BATCHPOLLARDRHO(n,B) ,which states that common factor 2 from both factors can be taken out of the whole function, it can be proved that gcd(a,b)=2×gcd(a2,b2) .

(b)

Program Plan Intro

To prove that if a is odd and b is even, then gcd(a,b)=gcd(a,b2)

(b)

Expert Solution
Check Mark

Explanation of Solution

If b is even and a is odd, then it can be written = 2(b2) , where (b2) is an integer. As, it is known that a is not divisible by 2 (a is odd), the extra factor of 2 which is in b can’t be part of gcd of the given both numbers. It states that gcd(a, b) = gcd(a,b2) . Now imagine = gcd(a, b) . As d is the common divisor, a must be divisible by d , therefore, d shouldn’t contain even factors. Which states that d also divides a and b2 . This states that gcd(a,b)gcd(a,b2) . This inequality holds true even for the reverse procedure. As, the inequalities hold both ways, it results in equality gcd(a,b)=gcd(a,b2) .

(c)

Program Plan Intro

To prove that if both a and b are odd, then gcd(a,b)=gcd(ab2,b)

(c)

Expert Solution
Check Mark

Explanation of Solution

if both a and b are odd, therefore a - b, where a > b is also an odd number. Therefore, gcd(a, b) = gcd( b, b) . Let

  d = gcd(a, b) d'= gcd( b, b) .

Then, there exists n1, n2 such that n1a+n2= d . It can be rewritten as n1(ab)+(n1+n2)b=d . Therefore, dd' . To compute reverse, let n'1a+n'2= d' so that n'1(ab)+n'2b=d' . It can be rewritten as n'1a+(n'2n'1)b=d' , therefore d'd . This means that gcd(a, b) = gcd( b, b) = gcd(b, a  b) . This inequality holds true even for the reverse procedure. As, the inequalities hold both ways, it results in equality. Therefore, gcd(a,b)=gcd(ab2,b) .

(d)

Program Plan Intro

To design an efficient binary gcd algorithm for integers a and b where ab and runs in O(lga) time.

(d)

Expert Solution
Check Mark

Explanation of Solution

  BINARYGCD(a,b)

if a mod 2  1 then

if b mod 2  1 then

return BINARYGCD((  b)2, b)

else return BINARYGCD(a, b2)

end if

else

  if b mod 2  1 then

return BINARYGCD(a2, b)

else

return ×BINARYGCD(a2, b2)

end if

end if

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
The Horse table has the following columns: ID - integer, auto increment, primary key RegisteredName - variable-length string Breed - variable-length string Height - decimal number BirthDate - date Delete the following rows: Horse with ID 5 All horses with breed Holsteiner or Paint All horses born before March 13, 2013 To confirm that the deletes are correct, add the SELECT * FROM HORSE; statement.
Why is Linux popular? What would make someone choose a Linux OS over others? What makes a server? How is a server different from a workstation? What considerations do you have to keep in mind when choosing between physical, hybrid, or virtual server and what are the reasons to choose a virtual installation over the other options?
Objective  you will: 1. Implement a Binary Search Tree (BST) from scratch, including the Big Five (Rule of Five)  2. Implement the TreeSort algorithm using a in-order traversal to store sorted elements in a vector. 3. Compare the performance of TreeSort with C++'s std::sort on large datasets. Part 1: Understanding TreeSort How TreeSort Works TreeSort is a comparison-based sorting algorithm that leverages a Binary Search Tree (BST): 1. Insert all elements into a BST (logically sorting them). 2. Traverse the BST in-order to extract elements in sorted order. 3. Store the sorted elements in a vector.  Time Complexity Operation                                Average Case     Worst Case (Unbalanced Tree)Insertion                                     0(1log n)                0 (n)Traversal (Pre-order)                  0(n)                       0 (n)Overall Complexity                  0(n log n)                 0(n^2) (degenerated tree) Note: To improve performance, you could use a…
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Operations Research : Applications and Algorithms
Computer Science
ISBN:9780534380588
Author:Wayne L. Winston
Publisher:Brooks Cole
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
COMPREHENSIVE MICROSOFT OFFICE 365 EXCE
Computer Science
ISBN:9780357392676
Author:FREUND, Steven
Publisher:CENGAGE L