1
resposta

Solução Tabuada de 3 (esconde números não divisíveis)

Gritei até uhul por conseguir fazer, rs

Não sei se a solução foi legal, mas minha ideia foi:

1) Mostra todos os números de 1 a 100 na tela; 2) Verifica se o número é divisível por 3 e mostra na tela; 3) Se número não for divisível, simplesmente não mostre e conte +1;

Eu achei meio tosco fazer dessa forma, porque tecnicamente estou "escondendo" os números (ao invés de simplesmente encontrar o número divisível e depois multiplicar por ele mesmo até o limitador), mas funcionou!

Imprimir na tela e depois esconder consome mais recursos da memória do que o necessário? Ainda não entendi sobre a questão de utilização dos recursos da memória, faz sentido?

A propósito, eu reparei que as variáveis "tabuada" e "multiplicador" por serem números iguais, seria mais sensato manter somente a variável "tabuada". Mas, quando removi o multiplicador e alterei no if do for, ele parou de funcionar, e n

public class DesafioMultiplos3 {

    public static void main(String[] args) {

        int tabuada = 3;
        int multiplicador = 3;
        int limitador = 100;

        for (tabuada = 1; tabuada <= limitador; tabuada++) {
            if (tabuada % multiplicador == 0) {
                System.out.println(tabuada);
            } else {
                tabuada++;
            }
        }
    }
}
1 resposta

Boa noite Victor.

Primeiramente, muito obrigada por compartilhar conosco seu exercício. Uma alternativa de declaração da tabuada é aproveitando o FOR para declara-la, neste cenário também deixa de ser necessário colocar o tabuada++ no corpo do FOR, já que o próprio for já está incrementando a variável tabuada a cada execução.

public class DesafioMultiplos3 {

    public static void main(String[] args) {

        int multiplicador = 3;
        int limitador = 100;

        for (int tabuada = 1; tabuada <= limitador; tabuada++) {
            if (tabuada % multiplicador == 0) {
                System.out.println(tabuada);
            }
        }
    }
}

Sobre o consumo de memória, acaba sendo bem parecido com imprimir ou não. Sendo que se imprimir é mais uma ação de Input/Output e gera, mesmo que pequeno considerando o exemplo, um maior consumo de recursos.