Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desafio 03 feito em javascript por @joseildoandrade12 #1157

Closed
Closed
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions desafio-03/joseildoandrade12/javascript/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Desafio 03: Números Palíndromos

Um palíndromo é uma palavra ou expressão que pode ser lida da esquerda para a direita ou da direita para a esquerda mantendo o mesmo significado. Um exemplo de palíndromo é a palavra “reviver”.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seu readme não contém as instruções de como rodar seu programa, muito menos os requisitos necessários.
Adicione essas informações nele, sem isso não consigo testar sua solução.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tem algum exemplo de como eu possa fazer essa parte? algum README de inspiração? não sou bom com o readme

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

## Solução

Primeiro passo: defini uma variável com um valor vazio de array para colocar os números palindrômicos.

Segundo passo: fazer uma validação em uma função para saber valores passados nos parâmetros estão de acordo com o necessário para saber se é um número palindromo, retornando uma mensagem de qual erro o usuário cometeu.

Terceiro passo: utilizei os valores que foram verificados em uma função com dois parâmetros min(valor mínimo) e max(valor máximo).

Quarto passo: criei um loop que caso min fosse menor ou igual a max, ocorresse uma validação.

Quinto passo: criei uma constante numInverso, onde os valores que passaram na condição vão passar pelo método toString() tornando o Number numa string e logo em seguida com esse valor em String utilizando o método split('') que irá transformar a string numa array separando pelo valor que está sendo atribuito nos paresenteses, após isso utilizei o método de array reverse() para os valores que estão na array reverterem(quem está no inicio vai para o final e quem está no final vai para o inicio e assim por diante), e depois utilizei o split('') que irá juntar os valores da array pela condição que está no método tornando essa junção em uma String novamente.

Sexto passo: fazer uma validação com um if, se o valor min é igual ao valor que está em numInverso, ele vai adicionar o valor de min a váriavel que criei no inicio da solução pelo método de array variavel.push(valor).
28 changes: 28 additions & 0 deletions desafio-03/joseildoandrade12/javascript/script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
const numerosPalidromos = [];
function palindromos(min, max) {
for (; min <= max; min++) {
const numInverso = +min.toString().split("").reverse().join("");
if (min === numInverso) {
numerosPalidromos.push(min);
}
}
return numerosPalidromos;
}

function verificacao(min, max) {
if (typeof min !== "number" || typeof max !== "number") {
console.log("Coloque apenas valores númericos");
} else if (min < 1 || max < 1) {
console.log("Adicione apenas valores positivos ou maior que 0");
} else if (min >= max) {
console.log(
"O valor mínimo não pode ser maior ou igual ao valor máximo"
);
} else if (!(Number.isInteger(min) && Number.isInteger(max))) {
console.log("Adicione apenas números inteiros");
} else {
palindromos(min, max);
}
}
console.log(verificacao(1, 50));
console.log(numerosPalidromos);
Loading