In algorithms please help me answer this question I will give you a good rating :) implement the three versions of the addupto20() function: iterative, recursive, and divide-and-conquer approach test these functions with a few inputs from your main()

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

In algorithms please help me answer this question I will give you a good rating :)

implement the three versions of the addupto20() function: iterative, recursive, and divide-and-conquer approach

test these functions with a few inputs from your main()

 

Iterative solution 

* check if there exsits two numbers from vector data that add up to 20

e.g., if data=[2,5,3,15], the function returns true, as data [0] +data [3]==20

e.g., if data=[3,4,0,8], the function return false

precondition: vector data has been initialized

postcondition: if there are two numbers from list add up to 20, return true;

otherwise, return false */

bool AddupTo20 (const vector‹int> & data){

}

 

Come up with a recursive solution to the problem, following the hints given below:

* check if there exists two numbers from vector data[first...right] add up to 20

e.g., if data=[2,5,3,15], first=0, last=3, the function returns true,

as data [0] +data [3]==20

e.g., if data=[2,5,3,15], first=2, last=3, the function returns fales

(there are no pairs from data[2..3] that add up to 20

precondition: vector data has been initialized

first, last are indicating the starting and ending indices

postcondition: if there are two numbers from data[first.

..last] add up to 20,

return true; otherwise, return false */

bool AddupTo20 (const vector‹int› & data, int first, int last)

{

// BASE CASE: if data[first... last]'s length is 1 

// return false

 

//General case

// check if adding a[first] with a number from data[first+1...last]

// yields a sum of 20 

 

// check if any pairs from data[first+1 ... last] add up to 20 

}

Expert Solution
steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY