Пример #1
0
 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);
 }