fork download
  1. function solve(s) {
  2.  
  3. var k = s.match(/\w/g).filter(function (x, i, a) {return a.indexOf(x) === i})
  4. var w = s.match(/\w+/g).map(function (x) {return x})
  5.  
  6. var f = ''
  7. f += 'var ' +k.join(', ')+ ';\n'
  8. f += 'var ' +w.join(', ')+ ';\n'
  9. f += k.join(' = ')+ ' = 0;\n'
  10. k.forEach(function (x) {
  11. var n = w.some(function (y) { return y.startsWith(x) && x!=y }) ? 1 : 0
  12. f += 'for (' +x+ ' = ' +n+ '; '+x+' < 10; ++'+x+') {\n'
  13. })
  14. k.forEach(function (x) {
  15. f += 'if (' +k.filter(function (y) { return x != y }).map(function (y) { return x+ '==' +y }).join('||')+ ') continue;\n'
  16. })
  17. w.forEach(function (x) {
  18. f += x+ ' = ' +x.split('').reverse().map(function (y, i) { return i == 0 ? y : Math.pow(10, i)+ '*' +y}).reverse().join(' + ')+ ';\n'
  19. })
  20. f += 'if (' +s+ ') return [' +w.join(', ')+ '];'
  21. f += '}'.repeat(k.length) + '\n'
  22.  
  23. var e = new Function(f)()
  24. return w.reduce(function (l, r, i) { return l.replace(r, e[i]) }, s)
  25.  
  26. }
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty