logo CodeStepByStep logo

sequence

Language/Type: Java recursion

Write a recursive method named sequence that accepts an integer k as its parameter and prints out the numbers 1 through k inclusive in a particular pattern separated by plus signs and 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 plus sign are added to the pattern. If the value for k is 0 or negative, throw an IllegalArgumentException.

Call Output
sequence(1); 1
sequence(2); (2 + 1)
sequence(3); ((2 + 1) + 3)
sequence(4); (4 + ((2 + 1) + 3))
sequence(5); ((4 + ((2 + 1) + 3)) + 5)
sequence(6); (6 + ((4 + ((2 + 1) + 3)) + 5))
sequence(7); ((6 + ((4 + ((2 + 1) + 3)) + 5)) + 7)
sequence(8); (8 + ((6 + ((4 + ((2 + 1) + 3)) + 5)) + 7))
sequence(9); ((8 + ((6 + ((4 + ((2 + 1) + 3)) + 5)) + 7)) + 9)
sequence(10); (10 + ((8 + ((6 + ((4 + ((2 + 1) + 3)) + 5)) + 7)) + 9))

Constraints: Your solution must obey the following constraints:

  • Your solution must not use any loops; it must be recursive.
  • Do not construct any data structures (no array, list, set, map, etc.), and do not declare any global variables. You are allowed to define other "helper" methods if you like.
Type your Java solution code here:


This is a method exercise. 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

Need help?

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

Is there a problem? Contact a site administrator.

©, all rights reserved.