int countNumbersWithUniqueDigits(int n) { if(n > 10){ return countNumbersWithUniqueDigits(10); } maxNum = pow(10,n); bool used[10]; int count = 1; for (int i=1; i<10; i++){ used[i] = true; count += search(i, used); used[i] = false; } return count; }
int countNumbersWithUniqueDigits(int n) { if (n == 0) return 1; int count = 9; for (int i = 0, digit = 9; i != n - 1; ++i, --digit) count *= digit; return count + countNumbersWithUniqueDigits(n - 1); }