Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Computer Engineering Expert

Recursion

File that you must write:

RecursiveFun.java: This file should contain a class with seven recursive methods described below. All these methods are static. You should also write a static main method that allows you to test the other seven methods.

1. Triangle Pattern

public static void triangle(int m, int n)
// Precondition: m <= n
// Postcondition: The method has printed a pattern of 2*(n-m+1) lines
// to the standard output. The first line contains m asterisks, the next
// line contains m+1 asterisks, and so on up to a line with n asterisks.
// Then the pattern is repeated backwards, going n back down to m.
/* Example output:
triangle(3, 5) will print this:
***
****
*****
*****
****
***
*/

Hint: Only one of the arguments changes in the recursive call. Which one?

2. Section Numbers

public static void numbers(String prefix, int levels)

The method prints output consisting of the String prefix followed by "section numbers" of the form 1.1., 1.2., 1.3., and so on. The levels argument determines how may levels the section numbers have. For example, if levels is 2, then the section numbers have the form x.y. If levels is 3, then section numbers have the form x.y.z. The digits permitted in each level are always '1' through '9'. As an example, if prefix is the string "THERBLIG" and levels is 2, then the method would start by printing:
THERBLIG1.1. THERBLIG1.2. THERBLIG1.3.
and end by printing:
THERBLIG9.7.

THERBLIG9.8. THERBLIG9.9.
The stopping case occurs when levels reaches zero (in which case the prefix is printed once by itself followed by nothing else).

The Java String class has many manipulation methods, but you'll need only the ability to make a new string which consists of prefix followed by another character (such as '1') and a period ('.'). If s is the String that you want to create and c is the digit character (such as '1'), then the following statement will correctly form s:

s = prefix + c + '.';
This new String s can be passed as a parameter to recursive calls of the method.

3. A Teddy Bear Picnic

This question involves a game with teddy bears. The game starts when I give you some bears. You can then give back some bears, but you must follow these rules (where n is the number of bears that you have):

1. If n is even, then you may give back exactly n/2 bears.
2. If n is divisible by 3 or 4, then you may multiply the last two digits of n and give back this many bears. (By the way, the last digit of n is n%10, and the next-to-last digit is ((n%100)/10).
3. If n is divisible by 5, then you may give back exactly 42 bears.

The goal of the game is to end up with EXACTLY 42 bears.

For example, suppose that you start with 250 bears. Then you could make these moves:

- Start with 250 bears.
- Since 250 is divisible by 5, you may return 42 of the bears, leaving you with 208 bears.
- Since 208 is even, you may return half of the bears, leaving you with 104 bears.
- Since 104 is even, you may return half of the bears, leaving you with 52 bears.
- Since 52 is divisible by 4, you may multiply the last two digits (resulting in 10) and return these 10 bears. This leaves you with 42 bears.
- You have reached the goal!

Write a recursive method to meet this specification:

public static boolean bears(int n)
// Postcondition: A true return value means that it is possible to win
// the bear game by starting with n bears. A false return value means that
// it is not possible to win the bear game by starting with n bears.
// Examples:
// bear(250) is true (as shown above)
// bear(42) is true

// bear(84) is true
// bear(53) is false
// bear(41) is false
Hint: To test whether n is even, use the expression ((n % 2) == 0).

4. A Fractal Pattern

Examine this pattern of asterisks and blanks, and write a recursive method that can generate patterns such as this:
*
* *
*
* * * *
*
* *
*
* * * * * * * *
*
* *
*
* * * *
*
* *
*
With recursive thinking, the method needs only seven or eight lines of code (including two recursive calls). Your method should look like this:
public static void pattern(int n, int i)
// Precondition: n is a power of 2 greater than zero.
// Postcondition: A pattern based on the above example has been
// printed. The longest line of the pattern has
// n stars beginning in column i of the output. For example,
// The above pattern is produced by the call pattern(8, 0).
Hints: You do not need to check the precondition. Think about how the pattern is a fractal. Can you find two smaller versions of the pattern within the large pattern? Here is some code that may be useful within your method:
// A loop to print exactly i spaces:
for (k = 0; k < i; k++) System.out.print(" ");
// A loop to print n asterisks, each one followed by a space: for (k = 0; k < n; k++) System.out.print("* ");

5. A Pattern of Letters

public static void letters(char c)
// Precondition: c is one of the characters 'A' through 'Z'.
// Postcondition: The method has printed a pattern of letters
// as follows:
// 1. If the parameter c is 'A', then the output is 'A'.
// 2. For other values of c, the output consists of three parts:
// -- the output for the previous letter (c-1);
// -- followed by the letter c itself;
// -- followed by a second copy of the output for the previous letter.

// There is no '\n' printed at the end of the output.
/* Example output:
letters('D') will print this to cout: ABACABADABACABA
*/

6. One Binary Number

Write a method with this specification:
public static void binaryPrint(int n)
The number n is non-negative. The method prints the value of n as a BINARY number. If n is zero, then a single zero is printed; otherwise no leading zeros are printed in the output. The '\n' character is NOT printed at the end of the output.
EXAMPLES:
n=0 Output:0 n=4 Output:100
n=27 Output:11011
NOTE: Your recursive implementation must not use any local variables.

7. Sequence of Binary Numbers

Write a method with this specification:
public static void numbers(String prefix, int k);
The number k is non-negative. The argument called prefix is a String of 0's and 1's. The method prints a sequence of binary numbers. Each output number consists of the prefix followed by a suffix of exactly k more binary digits (0's or 1's). All possible combinations of the prefix and some k-digit suffix are printed. As an example, if prefix is the string "00101" and levels is 2, then the method would print the prefix followed by the 4 possible suffixes shown here:
0010100
0010101
0010110
0010111

The stopping case occurs when k reaches zero (in which case the prefix is printed once by itself followed by nothing else).

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M91993571
  • Price:- $50

Priced at Now at $50, Verified Solution

Have any Question?


Related Questions in Computer Engineering

With respect to the needham-schroeder 0v0ap authentication

With respect to the Needham-Schroeder (0V0AP) authentication protocol, assume that a client (point A in the 0V0AP description) is holding the wrong key Describe in PRECISE terms (in terms of the contents of the packets t ...

As noted in chapter 14 of aampa distribution of income

As noted in Chapter 14 of A&A, distribution of income among various population groups followed roughly the same patterns in the USA, Sweden, and the former Soviet Union, despite the very different forms of economic organ ...

Question suppose that a computer can execute 1 billion

Question : Suppose that a computer can execute 1 billion instructions/sec and that a system call takes 1000 instructions, including the trap and all the context switching. How many system calls can the computer execute p ...

Question what role should platform providers play in social

Question : What role should platform providers play in social dis-course? Do these technology companies have an obligation to understand the impacts they are having on society? Do they have a responsibility to participat ...

Some statistics students were interested in finding out in

Some Statistics students were interested in finding out in there was a relationship between the number of hours of study for a chapter and the score on that test. On the basis of the number of hours their classmates stud ...

Assignmentsuppose a particular fa called fin has the

Assignment Suppose a particular FA, called FIN, has the property that it had only one final state that was not the start state. During the night, vandals come and switch the + sign with the - sign and reverse the directi ...

Question suppose you want to back up a huge file to a cd-r

Question : Suppose you want to back up a huge file to a CD-R. You can do this by splitting the file into smaller pieces and backup up those pieces separately. Write a utility program named FileSplitter that splits a larg ...

Poblem 1 a firms production function c is given by c q

Problem 1. A firm's production function C is given by C (q) = 0:5q 2+2q 1 2 +18, where q is the level of output. (i) Calculate marginal costs (ii) If all fixed costs are sunk, and the minimum price at which this firm wil ...

Suppose you make 30 annual investments in a fund that pays

Suppose you make 30 annual investments in a fund that pays 6% compounded annually. If your first deposit is $7,500 and each successive deposit is 6% greater than the preceding deposit, how much will be in the fund immedi ...

Aaninformationretrievalsystemhasacertainpairofaverageprecisi

(a) An information retrieval system has a certain pair of average precision and recall values when the system returns 10 documents in response queries. Would the precision and recall rate remain unchanged if the system w ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As