思路:例如44321这个数,在数组a[]中有1 2 3 4 4。如果这个数是神奇数,
那么数组中的所有数相加后得sum,sum%2一定为0。然后我们要确定44321是否
可以分为符合题意的两组,这里用到了递归。
const readline = require("readline")
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
})
rl.on("line", function (n) {
  let arr = n.split(" ")
  let l = Number(arr[0]),
    r = Number(arr[1])
  let count = 0
  for (let i = l; i <= r; i++) {
    if (chartAt(i)) {
      count++
    }
  }
  console.log(count)
})

function chartAt(num) {
  let res = num
  let arr = []
  let index = 0
  let sum = 0
  while (num > 0) {
    let val = num % 10
    arr[index++] = val
    num = parseInt(num / 10)
    sum += val
  }
  if (sum % 2 === 1) {
    return false
  }
  return isMerge(arr, index, sum / 2)
}
function isMerge(arr, n, sum) {
  if (sum === 0) return true
  if (sum < 0) return false
  let state = false
  for (let i = 0; i < n; i++) {
    state = isMerge(arr.slice(i + 1), n - 1 - i, sum - arr[i])
    if (state) break
  }
  return state
}

rl.on("close", function () {
  process.exit()
})