JSFiddle - React, Tailwind, and code Playground

by David Marshall

JavaScript

let nums = '123456789'

for (let i = 0; i < nums.length; i++) {
  for (let j = 0; j < nums.length; j++) {
    for (let k = 0; k < nums.length; k++) {
      for (let m = 0; m < nums.length; m++) {
        if (i !== j && i !== k && i !== m && j !== k && j !== m && k !== m) {
          let dividend = `${nums[i]}${nums[j%nums.length]}${nums[k%nums.length]}${nums[m%nums.length]}`
          //console.log(div)
          for (let a = 0; a < nums.length; a++) {
            for (let b = 0; b < nums.length; b++) {
              for (let c = 0; c < nums.length; c++) {
                for (let d = 0; d < nums.length; d++) {
                  if (a !== b && a !== c && a !== d && b !== c && b !== d && c !== d) {
                    let divisor = `${nums[a]}${nums[b%nums.length]}${nums[c%nums.length]}${nums[d%nums.length]}`
                    let uniq = new Set(`${dividend}${divisor}`)
                    let dd = Number(dividend)
                    let dv = Number(divisor)
                    if (uniq.size == nums.length && dd > dv) {
                      console.log(dividend, divisor)
                    }
                    //console.log(div)
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}