Alguém pode me ajudar com essa questão em html

O aluno deverá criar uma função que informará a soma de todos os múltiplos de 3 ou 5 menores
que determinado número. Essa função deverá ser criada dentro da tag “script” de um arquivo
HTML.

Boa tarde, @katlin06
Espero que ajude:

<html>
<script>
function sumMultiplesOf3or5(n) {
  let sum = 0;
  for (let i = 0; i <= n; i++) {
    if (i % 3 === 0 || i % 5 === 0) {
      sum += i;
    }
  }
  return sum;
}
</script>
</html>
1 curtida

Obrigada .

Sei que é um exercício e “provavelmente querem” que vc use for e if, como foi feito acima.

Mas só como curiosidade, tem fórmula pra isso, nem precisa de loop:

// soma todos os múltiplos de x (de zero até n)
function somaMultiplos(x, n) {
    var y = Math.floor((n - 1) / x);
    return x * Math.floor((y * (y + 1)) / 2);
}

function somaMultiplos3ou5(n) {
    // soma os múltiplos de 3 e de 5, mas tem que descontar os múltiplos de 15
    // porque esses são múltiplos de 3 e 5 ao mesmo tempo, então eles foram "somados duas vezes"
    return somaMultiplos(3, n) + somaMultiplos(5, n) - somaMultiplos(15, n);
}

console.log(somaMultiplos3ou5(1000)); // 233168

Fazendo um teste simples, isso é muito mais rápido que o loop. Claro que para poucos valores pequenos a diferença será insignificante, mas enfim, era só curiosidade mesmo…