Умножение переменной на множитель застревает намного ниже максимального - PullRequest
0 голосов
/ 18 октября 2019

Я пишу алгоритм, который занимает 25 позиций в таблице лидеров и определяет, сколько выплачивается за каждый ранг в таблице лидеров.

Предполагается, что выплата выплачивается каждому рангу на том, что я могу описать лучше всего как кривую сингулярности (не очень хорошо в математике, поэтому я уверен, что для этого есть термин).

На каждом шаге кривой, соответствующей таблице лидеров, множитель увеличивается ... 1-й получает намного больший множитель, чем 25-й.

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

Кажется, что, пытаясь это сделать, когда я пытаюсь умножить «payRunner» на множитель, он застревает в десятичном числе намного ниже максимума. Я полагаю, что это идеальная проблема для DP, но я хотел сначала получить рабочее решение ... поэтому идеи решения DP для его реорганизации очень ценятся, но не являются необходимыми. Есть идеи ???

Мой код:


const payCurve = (subscription) => {
  let max = 3 * (subscription * 25);
  let maxReached = false;
  let multiplier = 1.01;
  let payRunner = 25;
  let total = 0;
  let ranks = 25;
  let count = 1;

  while (maxReached == false) {
    while (count <= ranks) {
      payRunner *= multiplier
      count ++
    }
    if (payRunner < max) {
      multiplier += 0.01
    }
    console.log(payRunner)

    if (payRunner > max) {
      maxReached = true
    }
  }
}
 payCurve(50)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...