int numero = 0;
System.out.println(numero);
for(int i=0; i<=32; i++) {
if(numero % 3 == 0) {
numero+= + 3;
System.out.println(numero);}}
int numero = 0;
System.out.println(numero);
for(int i=0; i<=32; i++) {
if(numero % 3 == 0) {
numero+= + 3;
System.out.println(numero);}}
Tentei essa lógica:
int numero = 0;
for(int i=0; i<=32; i++) {
if(numero % 3 == 0) {
System.out.println(numero);
}
numero++;
}
Mateus, está quase correto, mas eu gostaria de apontar duas coisas:
1) Ele imprime o 0 quando não deveria, mas isso é um detalhe; 2) O código poderia ser um pouco mais claro. Uma pessoa que olhar esse código vai interpretar: "eu quero pegar todos os números, entre 1 e 32... e somar 3 se forem divisores de 3". Ela chega na lógica correta, mas não fica fica parecendo que 32 faz parte do problema. E se você está somando de 3 em 3, não precisa conferir se os números são divisores de 3, fica redundante, concorda?
Além disso, na linha:
numero+= + 3;
Não precisa colocar o sinal de "+" duas vezes.
Minha sugestão: tente usar só uma variável (i ou numero), você escolhe, que o programa ficará mais claro. Mas a lógica básica está correta!
Thiago, o seu está bem claro, mas com um erro: ele só imprime os números de 0 a 30. Se consertar dois detalhezinhos ele fica perfeito. :)
O desafio é imprimir os múltiplos de 0 que estão entre 0 e 100, por que vocês só estão fazendo um laço até 32?
int numero = 0; for(int i=0; i<100; i++) { if(numero % 3 == 0) { System.out.println(numero); } numero++; }
Assim funciona, e podemos ainda eliminar uma variável que a variável número.
for(int i = 1; i < 101; i++){
if(i%3==0){
System.out.println(i);
}
}
Temos que colocar "i=1" porque se deixarmos o "i=0" o programa vai imprimir o "0".
Ou podemos fazer assim:
for(int i = 3; i <= 100; i+=3){
System.out.println(i);
}