logo Practice-It logo

countToBy

Language/Type: Java recursion recursive programming
Author: Stuart Reges (on 2014/02/13)

Write a method countToBy that takes integer parameters n and m and that produces output indicating how to count to n in increments of m. For example, to count to 10 by 1 you'd say:

        countToBy(10, 1);

which should produce the following output:

        1, 2, 3, 4, 5, 6, 7, 8, 9, 10

The increment does not have to be 1. For example, the following call indicates that we want to count to 25 in increments of 4:

        countToBy(25, 4);

which produces this output:

        1, 5, 9, 13, 17, 21, 25

It will not always be possible to start counting at 1. The first number should always be in the range of 1 to m inclusive. So if you instead count to 30 by 4, you have to start with 2. So this call:

        countToBy(30, 4);

produces this output:

        2, 6, 10, 14, 18, 22, 26, 30

It is possible that only one number will be printed. All output should appear on the same line. For example, the following calls:

        countToBy(34, 5);
        System.out.println(); // to complete the line of output
        countToBy(3, 6);
        System.out.println(); // to complete the line of output
        countToBy(17, 3);
        System.out.println(); // to complete the line of output

should produce the following output:

        4, 9, 14, 19, 24, 29, 34
        3
        2, 5, 8, 11, 14, 17

You must exactly reproduce the format of the examples above. Your method should throw an IllegalArgumentException if either m or n is less than 1.

You may NOT use a while loop, for loop or do/while loop to solve this problem; you must use recursion.

Write your solution to countToBy below.

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.