Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
937 B
3
Indexable
function findAll(n, k) {
  let count = 0;
  let minNum = '';
  let maxNum = '';

  // Рекурсивная функция для генерации счастливых чисел
  function generateHappyNumbers(currNum, currSum, digitsLeft) {
    if (currSum > n || digitsLeft < 0) {
      return;
    }

    if (digitsLeft === 0) {
      if (currSum === n) {
        count++;
        if (minNum === '') {
          minNum = currNum;
        }
        maxNum = currNum;
      }
      return;
    }

    const lastDigit = currNum === '' ? 1 : parseInt(currNum[currNum.length - 1]);

    // Генерация счастливых чисел с текущей цифрой
    for (let i = lastDigit; i <= 9; i++) {
      generateHappyNumbers(currNum + i, currSum + i, digitsLeft - 1);
    }
  }

  generateHappyNumbers('', 0, k);

  if (count === 0) {
    return [0];
  }

  return [count, minNum, maxNum];
}

module.exports = findAll;