DEV Community

Altencir Junior
Altencir Junior

Posted on

Resolvendo problemas no HackerRank: Promoção de Halloween.

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje,vamos percorrer os preços diversos que teremos numa promoção de Halloween, onde os preços dos jogos ficarão mais baixos conforme se passa . Vejamos mais informações com a explicação detalhada e sua resolução.

Sale Halloween -

Você deseja comprar videogames da famosa loja de videogames online Mist.

Normalmente, todos os jogos são vendidos pelo mesmo preço,p dólares. No entanto, eles planejam ter a venda sazonal de Halloween no próximo mês, na qual você pode comprar jogos por um preço mais barato. Especificamente, o primeiro jogo custará p dólares, e cada jogo subseqüente custará d dólares a menos que o anterior. Isso continua até que o custo se torne menor ou igual a m dólares, após o que cada jogo custará m dólares. Quantos jogos você pode comprar durante a Promoção de Halloween?

  • p= 20
  • d=3
  • m=6
  • s=70

int p: o preço do primeiro jogo
int d: o desconto do preço do jogo anterior
int m: o custo mínimo de um jogo
int s: o orçamento inicial

Image description

Vejamos a resolução em código:

function howManyGames(p, d, m, s) {
    // Return the number of games you can buy
  let finalValue = 0;
    while (s >= p) {
      finalValue++;
      s -= p;
      p -= d;

    if (p < m) p = m;
    }
  return finalValue;
}
Enter fullscreen mode Exit fullscreen mode

Criamos uma variável finalValue com custo inicial 0. Enquanto s que representa o valor final for menor ou igual a p, ele irá adicionar 1 a variável e irá subtrair o valor de s em p, e logo após subtrair o valor de p em d. E se p for menor que m, p irá receber m, e ao final retornar seu valor.

O resultado disso é:

20 3 6 80

input:6
Enter fullscreen mode Exit fullscreen mode

Assim, concluímos mais um Resolvendo problemas no HackerRank: até a próxima.

Top comments (0)