Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia. Esse código pede para o usuário dar uma quantidade de números para ser mostrado, sendo que esses números serão os primeiros múltiplos de dois números i e j que também serão dados pelo usuário. O código funciona, porém estou achando muito confuso, queria algo mais limpo e legível se possivel; que ele verificasse se os números são ou não múltiplos, e principalmente que houvesse uma função recebendo parâmetros em vez do usuário dar os dados.
//FUNÇÃO??
function vermultiplos(){
var listamulti = [];
var n = +prompt("Quantidade de números para mostrar:");
var i = +prompt("Valor de i");
var j = +prompt("Valor de j");
var listaI = 0;
var listaJ = 0;
for (var x = 0; x < n; x++) {
if (listaI < listaJ) {
listamulti.push(listaI);
listaI += i;
} else if (listaI == listaJ){
listamulti.push(listaI);
listaI += i;
listaJ += j;
} else if (listaI > listaJ){
listamulti.push(listaJ);
listaJ += j;
}
}
console.log(listamulti);
}Cara não entendi muito bem, ai coloquei só uma função com parametros:
/*
config = {
quantidadeNumeros => Number,
valorI => Number,
valorJ => Number
}function vermultiplos(config){
var listamulti = [],
listaI = 0,
listaJ = 0;
for (var i = 0; i < config.quantidadeNumeros; i++) {
if (listaI < listaJ) {
listamulti.push(listaI);
listaI += config.valorI;
} else if (listaI == listaJ){
listamulti.push(listaI);
listaI += config.valorI;
listaJ += config.valorJ;
} else if (listaI > listaJ){
listamulti.push(listaJ);
listaJ += config.valorJ;
}
}
return listamulti;
}
var valores = {
quantidadeNumeros: 10,
valorI: 2,
valorJ: 3
}
console.log(vermultiplos(valores));É esse o caminho, amigo. Só uma coisa, o parâmetro config representa o que? E como vou verificar se eles são multiplos?
o parametro config representa essa variavel:
var valores = {
quantidadeNumeros: 10,
valorI: 2,
valorJ: 3
}
eu deixei fixo mas ai se você quiser criar dinâmico usa isso para configurar.
Tipo Prompt ou inputs:
<input type="number" id="quantidade" placeholder="Quantidade">
<input type="number" id="valor_i" placeholder="Valor de I">
<input type="number" id="valor_j" placeholder="Valor de J">
<button id="btn">Executar função</button>
Ai executa algum evento:
document.getElementById('btn').addEventListener('click',function(){
var valores = {
quantidadeNumeros: Number(document.getElementById('quantidade').value),
valorI: Number(document.getElementById('valor_i').value),
valorJ: Number(document.getElementById('valor_j').value)
}
console.log(vermultiplos(valores));
});
E como eu disse só adicionei os parametros na função mas não alterei o resultado do seu código.Talvez isso:
function vermultiplos(numElementos,i,j){
var listamulti = [];
var x = 0;
while (listamulti.length < numElementos){
if (x%i==0 || x%j==0)
listamulti.push(x);
x++;
}
console.log(listamulti);
}
Aí você chama sua função com seus parâmetros, exemplo:
vermultiplos(10,2,3);Obs. Ess função acima só irá funcionar caso "i" e "j" sejam inteiros positivos.
Excelente, pessoal! Ajudaram bastante, qualquer dúvida eu falo aqui
Alguém pode me ajudar, por favor?