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.