Write a recursive function named countToBy
that accepts integer parameters n
and m
and returns a string representing the sequential count to n
in increments of
m
separated by commas. For example, a call to countToBy(10, 1)
would return
the string "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
, or the count to 10 by 1's. The following table shows several other
calls and their expected return:
Call |
Meaning |
Return |
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 returned in the string, as shown in the call table when n
is 3 and m
is 6.
If either m
or n
is less than 1, your function should return an empty string, "".