Нужно найти скрытый элемент в арифметической прогрессии - PullRequest
0 голосов
/ 18 июня 2019

Мне нужно написать функцию для генерации арифметической прогрессии с одним скрытым элементом.После этого эта функция будет вызвана в другой.Пользователь должен будет написать пропущенный номер.После этого ему дадут ответ, если он прав неправильно.Я предполагаю, что мне следует изменить всю текущую функцию или добавить что-то во вторую.

Я написал функцию, которая генерирует прогрессию и скрывает одно случайное число, но я не знаю, как найти скрытоеКоличество и сравнить его с тем, что пользователь отвечает.

export function fn() {
  let x = 0;
  let resultString = '';
  const step= getRandom();

  const min = 1;
  const max = 10;
  let index = min + Math.random() * (max + 1 - min);
  index = Math.floor(index);

  for (let i = 1; i <= 10; i += 1) {
    x += step;
    const isIndex = i === index ? '..' : `${x}`;
    resultString = `${resultString} ${isIndex}`;
  }
  console.log(resultString);
}

Я ожидаю, что смогу найти, какой номер используется вместо '..'.

1 Ответ

0 голосов
/ 18 июня 2019

Просто сохраните число, которое вы скрываете в переменной, и сравните его позже с предполагаемым числом.

// I don't know how your getRandom() function works,
// so I created a simple one
function getRandom() {
  return 2
}

function initSeries() {
  let x = 0;
  let resultString = '';
  const step = getRandom();

  const min = 1;
  const max = 10;
  let index = min + Math.random() * (max + 1 - min);
  index = Math.floor(index);

  for (let i = 1; i <= 10; i += 1) {
    x += step;

    let isIndex = i === index ? '..' : `${x}`;
    if (isIndex === '..') {
      hiddenNumber = x
    }
    resultString = `${resultString} ${isIndex}`;
  }
  document.getElementById('series').innerHTML = resultString
}

let hiddenNumber
initSeries()

document.getElementById('check').addEventListener('click', function() {
  let msg = ''
  if (document.getElementById('guessed').value == hiddenNumber) {
    msg += 'You guessed right!'
  } else {
    msg += 'Guess again!'
  }
  document.getElementById('success').innerHTML = msg
})

document.getElementById('new').addEventListener('click', function() {
  initSeries()
  document.getElementById('success').innerHTML = ''
})
<input id="guessed" type="text" />
<button id="check">CHECK RESULT</button>
<button id="new">NEW SERIES</button><br /><br />
<div id="series"></div>
<div id="success"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...