Lab 6 Solution

$30.00

Category: Tag:

Description

Section Readings: 1.1 (Recursion)

Problem 1. (Sum of Integers) Implement the static methods sumIter() and sumRec() in SumOfInts that take an integer argument n and return the sum S(n) = 1 + 2 + 3 + + n, computed iteratively (using a loop) and recursively. The recurrence relation for the latter implementation is

S(n) =

(n + S(n 1) if n > 1:

1

if n = 1;

  • java S um Of In ts 100 5050 5050

Problem 2. (Exponentiation) Implement the static method power() in Power that takes two integer arguments a and b and returns the value of ab, computed recursively using the recurrence relation

ab =

8aab

1 if b is odd;

>

1

if b = 0;

2

b=2

>

<(a )if b is even:

:

  • java Power 3 5 243

Problem 3. (Bit Counts) Implement the static methods zeros() and ones() in Bits that takes a bit string (ie, a string of zeros and ones) s as argument and returns the number of zeros and ones in s, each computed recursively. Hint: First devise an appropriate recurrence relation for the problem.

  • java Bits 1 0 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 zeros = 11 , ones = 14 , total = 25

Problem 4. (String Reversal) Implement the static method reverse() in Reverse that takes a string s as argument and returns the reverse of the string, constructed recursively. Hint: First devise an appropriate recurrence relation for the problem.

  • java Reverse ” a man a plan a canal panama ” amanap lanac a nalp a nam a

Files to Submit:

  1. SumOfInts.java

  1. Power.java

  1. Bits.java

  1. Reverse.java

1 of 1


error: Content is protected !!