logo CodeStepByStep logo


Language/Type: C++ recursion
Author: Marty Stepp (on 2016/06/16)

Write a recursive function named countToBy that accepts integer parameters n and m and that produces output indicating how to count to n in increments of m separated by commas. For example, to count to 10 by 1 you'd say countToBy(10, 1); The following table shows several other calls and their expected output:

Call Meaning Output
countToBy(10,1); count to 10 by 1s 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
countToBy(25,4); count to 25 by 4s 1, 5, 9, 13, 17, 21, 25
countToBy(30,4); count to 30 by 4s 2, 6, 10, 14, 18, 22, 26, 30
countToBy(34,5); count to 34 by 5s 4, 9, 14, 19, 24, 29, 34
countToBy(3,6); count to 3 by 6s 3
countToBy(17,3); count to 17 by 3s 2, 5, 8, 11, 14, 17

Notice that the increment does not have to be 1, such as when counting to 25 by 4s. The count must always end at n, but notice that at will not always be possible to start counting at 1, as shown in the output when n is 30 and m is 4. But the first number should always be in the range of 1 to m inclusive. It is possible that only one number will be printed, as shown in the output when n is 3 and m is 6.

Your function should throw an int exception if either m or n is less than 1. Note that the output does not advance to the next line.

Type your solution here:

This is a function problem. Write a C++ function as described. Do not write a complete program; just the function(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.

© Marty Stepp, all rights reserved.