JSFiddle - React, Tailwind, and code Playground
by Erik East
HTML
<p>Enter a number (1-15): <input type="text" id="yourNumber" style="width:50px;"/></p>
<input type="button" onclick="guess()" value="Submit" /><br><br>
Output: <br /><br />
<textarea id="output" name="output" style="width:150px; height:275px;"></textarea>
JavaScript
function guess()
{
var size = Number(document.getElementById("yourNumber").value);
if (size > 0 && size % 1 === 0)
{
var array = new Array(size);
var outputGuesses = document.getElementById("output");
outputGuesses.value= "Number Guesses";
for (i = 0; i < array.length; i++) {
array[i] = i + 1;
}
for (var n = 0; n <array.length; n++){
var min = 0;
var max = array.length - 1;
var index;
var computerGuess;
var yourNumber = array[n];
var count = 0;
if (yourNumber <= 15 && yourNumber > 0)
{
while (min <= max)
{
count = count + 1;
index = Math.floor((min + max) / 2);
computerGuess = array[index];
if (computerGuess < yourNumber)
{
min = index + 1;
count = count + 1;
}
else if (computerGuess > yourNumber)
{
max = index - 1;
count = count + 1;
}
else
{
outputGuesses.value = outputGuesses.value + "\r\r" + " " + n + " "+ count;
min = max + 1;
}
}
}
else
{
outputGuesses.value = "Please enter a number (1-15)";
}
}
}
else
{
alert("Please enter a number (1-15)");
}
}