Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
</body>
</html>
 
function Solve(args) {
  
  var secretNumber = parseInt(args[0]),
      bulls = parseInt(args[1]),
      cows = parseInt(args[2]);
  
  var result = "",
      bullsCount = 0,
      cowsCount = 0,
      matchNumbers = [],
      secretChars = args[0].toString().split('');
  
  /* 
  var getBulls = function (secretNum, guessNum) {
    var guessChars = guessNum.toString().split('');
    var bullsCount = 0;
    for(var i = 0; i < 4; i++) {
      if (secretChars[i] == guessChars[i]) {
        bullsCount++;
      }
    }
    return bullsCount;
  };
  
  var getCows = function (secretNum, guessNum) {
    var guessChars = guessNum.toString().split('');
    var cowsCount = 0;
    for(var i = 0; i < 4; i++) {
      if (secretChars.indexOf(guessChars[i]) != -1) {
        cowsCount++;
      }
    }
    return cowsCount;
  };
  */
  
  
  // Check all possible 4-digit numbers
  for (var guessNumber = 1000; guessNumber <= 9999; guessNumber++) {
    var guessChars = guessNumber.toString().split('');
    
    for(var b = 0; b < 4; b++) {
      if (secretChars[b] == guessChars[b]) {
        bullsCount++;
      }
    }
    
    
    for(var c = 0; c < 4; c++) {
      if (secretChars.indexOf(guessChars[c]) != -1) {
        cowsCount++;
      }
    }
    
    // Check 
    if (bulls == bullsCount && cows == cowsCount) {
      result += guessNumber + " ";
    }
  }
  
  if (result == "") {
    result += "No";
  }
  
  return result;
}
console.log(Solve([1234, 1, 0]));
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
tunnckoCorepro
0viewers