logo Practice-It logo


Language/Type: Java recursion recursive programming
Author: Allison Obourn (on 2012/08/11)

Write a recursive method parenthesize that accepts an int n as a parameter and prints out the numbers 1 through n inclusive in a particular pattern that looks like a set of mathematical additions wrapped in parentheses. The order of the numbers should begin with all of the evens in downward order, followed by all of the odds upward from 1. Each time a number is added to the pattern, a new set of parentheses and a + sign are added too. You may assume that the number passed to your method is greater or equal to 0. Look at the pattern in the calls below to see the print format.

Call Output
parenthesize(0); 0
parenthesize(1); 1
parenthesize(2); (2 + 1)
parenthesize(3); ((2 + 1) + 3)
parenthesize(4); (4 + ((2 + 1) + 3))
parenthesize(5); ((4 + ((2 + 1) + 3)) + 5)

You are not allowed to construct any structure objects (no array, List, Scanner, etc.) and you may not use any loops to solve this problem; you must use recursion. If you like, you may declare other methods to help you solve this problem, subject to the previous rules.

Type your solution here:

This is a method problem. Write a Java method as described. Do not write a complete program or class; just the method(s) above.

You must log in before you can solve this problem.

Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.