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
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;
}
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
Assim, concluímos mais um Resolvendo problemas no HackerRank: até a próxima.
Top comments (0)