logo Practice-It logo

countDecimal

Language/Type: Java recursion recursive backtracking
Author: Marty Stepp (on 2012/11/19)

Write a method countDecimal that accepts an integer n as a parameter and that prints all decimal (base-10) numbers that have n digits in ascending order, printing each value on a separate line. All n digits should be shown for all numbers, including leading zeros if necessary. You may assume that n is non-negative. If n is 0, a blank line of output should be produced. You may use a loop to remove redundancy within a single digit's values of 0-9, but you must still implement the overall algorithm recursively.

Call Output Call Output
countDecimal(1);
0
1
2
3
4
5
6
7
8
9
countDecimal(3);
000
001
002
003
004
005
006
007
008
009
010
...
098
099
100
101
102
...
199
200
201
202
203
...
997
998
999
countDecimal(2);
00
01
02
03
04
05
06
07
08
09
10
11
..
97
98
99

Hint: It may help to define a private helper method that accepts different parameters than the original method. In particular, consider building up a set of characters as a String for eventual printing.

(This problem is similar to the earlier countBinary problem except that it counts base-10 rather than base-2 numbers.)

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.