Очевидно, что есть математический ответ на это, хотя я признаю, что я еще не разработал его.
Проще говоря, если low = 1 и high = 99, тогда мы имеем следующее:
0 - 9 = 10 unique numbers
10-19 = 10 unique numbers
20-29 = 9 unique numbers
30-31 = 8 unique numbers
40-49 = 7 unique numbers
50-59 = 6 unique numbers
60-69 = 5 unique numbers
70-79 = 4 unique numbers
80-89 = 3 unique numbers
90-99 = 2 unique numbers
Возможно, было бы легче разобраться, если бы мы предполагали, что все числа должны иметь одинаковое количество цифр с ведущими нулями, где это необходимо. Например, 01, 02, 03, 04 для 1, 2, 3, 4. Это будет означать, что 01 и 10 будут совпадать.
Тогда наше распределение чисел изменится на:
0 - 9 = 10 unique numbers
10-19 = 9 unique numbers
20-29 = 8 unique numbers
30-31 = 7 unique numbers
40-49 = 6 unique numbers
50-59 = 5 unique numbers
60-69 = 4 unique numbers
70-79 = 3 unique numbers
80-89 = 2 unique numbers
90-99 = 1 unique numbers
Вы можете видеть, что должна быть возможность основывать рекурсивную формулу на этом, используя коэффициенты 10, чтобы определить, сколько может быть уникальных чисел.
Трудность состоит в том, как справиться с переменными начальной и конечной точками, например. низкий = 25 и высокий = 87.
И все же это начало, я подумаю над этим.