Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: no problema de hoje, averiguar o crescimento de uma árvore utópica, que cresce de maneira estranha. Vejamos:
Utopian Tree -
No caso de hoje, temos uma Árvore Utópica que passa por 2 ciclos de crescimento a cada ano. A cada primavera, ela dobra de altura. A cada verão, sua altura aumenta em 1 metro. Como o problema não revelou sobre os outros ciclos anuais, vamos ignorá-los e utilizar somente o que nos foi trabalhado: VERÃO e PRIMAVERA.
Temos o parâmetro
n
que irá guardar um array com todos os ciclos de crescimento dessa árvore.Caso seja VERÃO a árvore crescerá: 1
Caso seja PRIMAVERA a árvore crescerá: 2x mais
Vejamos a execução do código:
function utopianTree(n) {
// Write your code here
let cycleTree = 1
for (let i = 0; i < n; i++){
if( i % 2 ==0){
cycleTree = cycleTree * 2
}
else {
cycleTree++
}
}
return cycleTree
}
O código acima tem os parâmetros de ciclos em n
e criamos uma variável cycleTree
que tem o valor inicial 1. Criamos um laçõ de repetição for
que irá iterar o que está dentro do parâmetro inicial.
Quando o index de um ciclo der o resto 0, ao ser dividido por 2, ele será par, o que fará com que cycleTree seja multiplicado por ele mesmo 2 vezes. Esse caso representa a PRIMAVERA
Caso contrário adicionará apenas +1 ao cycleTree crescendo 1x. Esse caso representa o VERÃO.
O resultado será:
2
0
1
1 // primeiro ciclo
2 // terceiro ciclo
Com isso, concluímos mais um desafio do Resolvendo problemas no HackerRank: . Até a próxima!!!
Top comments (0)