[RESOLVIDO] - Achar múltiplos de 3 e 5 entre dois limites

Boa tarde, preciso fazer um método que gere e exiba os múltiplos comuns de 3 e 5, de limite1 a limite2.
Eu tenho uma parte de código implementada, mas não funciona corretamente:

[code]public int geraExibeMultiplos(){
int multi5 = 5;
int multi3 = 3;
int numeros = limite1 +(int)( limite2*Math.random());
if (numeros%3==0)
multi3 = multi3 + numeros;
else if(numeros%5==0)
multi5 = multi5 + numeros;

} [/code]

As variáveis limite1 e limite2 nesse caso já estão com os devidos valores dentro delas.

[quote=maxcanoas]Boa tarde, preciso fazer um método que gere e exiba os múltiplos comuns de 3 e 5, de limite1 a limite2.
Eu tenho uma parte de código implementada, mas não funciona corretamente:

[code]public int geraExibeMultiplos(){
int multi5 = 5;
int multi3 = 3;
int numeros = limite1 +(int)( limite2*Math.random());
if (numeros%3==0)
multi3 = multi3 + numeros;
else if(numeros%5==0)
multi5 = multi5 + numeros;

} [/code]

As variáveis limite1 e limite2 nesse caso já estão com os devidos valores dentro delas.[/quote]

tem certeza que vai usar random ??

eu só conheço essa maneira de gerar números entre dois limites.

então, isso é um exercicio certo ?

provavelmente o exercicio quer saber 1: todos os números que sejam (multiplos de 3 e 5) ou…2: todos os numeros que sejam multiplos e 3 e os numeros multiplos de 5

provavelmente você vai usar um for que inicia no limite 1 e termina no limite 2…

seus ifs estão certos… se for o caso 2…se for o caso 1 é necessário uma alteração…

o que vai dentro do if esta errado…

Sim, é um exercício, e entre os limites limite1 e limite2, eu tenho que achar todos os valores que são múltiplos de 3 e 5.

Para achar todos não se usa “random”. Vamos dar um exemplo.

Digamos que você queira gerar os números entre 1 e 6 usando um dado (que gera números aleatórios entre 1 e 6).

Agora, imagine que seu dado esteja viciado e dê só o valor 3.

Você vai conseguir gerar todos os números entre 1 e 6?

vamos raciocinar juntos:

um numero é multiplo de 3 se: numero%3==0

um numero é multiplo de 5 se: numero%5==0

um numero é multiplo de 3 e 5 se: ( numero%3==0 E numero%5==0 )

qual seu exercicio quer ??? as 2 primeiras opções ou a ultima ?

25 é multiplo de 5 mas não é multiplo de 3

15 é multiplo de 3 e também multiplo de 5

9 é multiplo de 3 mas não é multiplo de 5

entendendo isso…

você poderia fazer assim: percorrer numero por numero do limite 1 até o limite 2… testar cada numero para ver se ele é multiplo… se sim você imprime…

de uma olhada no for… , while… e do…while

[quote=maxcanoas]Boa tarde, preciso fazer um método que gere e exiba os múltiplos comuns de 3 e 5, de limite1 a limite2.
Eu tenho uma parte de código implementada, mas não funciona corretamente:

[code]public int geraExibeMultiplos(){
int multi5 = 5;
int multi3 = 3;
int numeros = limite1 +(int)( limite2*Math.random());
if (numeros%3==0)
multi3 = multi3 + numeros;
else if(numeros%5==0)
multi5 = multi5 + numeros;

} [/code]

As variáveis limite1 e limite2 nesse caso já estão com os devidos valores dentro delas.[/quote]

Cara se você tem os limites porque não está usando random e não um laço? Exemplo de se seu limite vai de 3 a 15 você faria:

int limiteInferior = 3;
int limiteSuperior = 15;

for (int numero = limiteInferior; numero <= limiteSuperior; limiteSuperior++){
...
} 

Para testar você também tem um problema você deveria ter dois IFs e não um if else. Um exemplo é o numero 15 ele é multipo de 3 e 5.

if ((numero %3) ==0)
  ...

if ((numero % 5) ==0)
  ...

vamos raciocinar juntos:

um numero é multiplo de 3 se: numero%3==0

um numero é multiplo de 5 se: numero%5==0

um numero é multiplo de 3 e 5 se: ( numero%3==0 E numero%5==0 )

qual seu exercicio quer ??? as 2 primeiras opções ou a ultima ?

25 é multiplo de 5 mas não é multiplo de 3

15 é multiplo de 3 e também multiplo de 5

9 é multiplo de 3 mas não é multiplo de 5

entendendo isso…

você poderia fazer assim: percorrer numero por numero do limite 1 até o limite 2… testar cada numero para ver se ele é multiplo… se sim você imprime…

de uma olhada no for… , while… e do…while[/quote]

Pois então, eu preciso dos múltiplos comuns entre 3 e 5, dei uma olhada aqui, e vi o erro que eu estava cometendo em não usar laços de repetição, daí vi também o post do x@ndy, meu código ficou assim:

[code] public int geraExibeMultiplos(){
for (int num = limiteUm; num <= limiteDois; num++){
if (num%3==0 && num%5==0){

        }
    }  
}[/code]

seria por aí?

[quote=maxcanoas]Pois então, eu preciso dos múltiplos comuns entre 3 e 5, dei uma olhada aqui, e vi o erro que eu estava cometendo em não usar laços de repetição, daí vi também o post do x@ndy, meu código ficou assim:

[code] public int geraExibeMultiplos(){
for (int num = limiteUm; num <= limiteDois; num++){
if (num%3==0 && num%5==0){

        }
    }  
}[/code]

seria por aí?[/quote]
Esse é o caminho :slight_smile:
Você pode calcular o MMC também, e fazer comparações a partir dele

[quote=maxcanoas]
Pois então, eu preciso dos múltiplos comuns entre 3 e 5, dei uma olhada aqui, e vi o erro que eu estava cometendo em não usar laços de repetição, daí vi também o post do x@ndy, meu código ficou assim:

[code] public int geraExibeMultiplos(){
for (int num = limiteUm; num <= limiteDois; num++){
if (num%3==0 && num%5==0){

        }
    }  
}[/code]

seria por aí?[/quote]
Se você necessita de somente de numeros que são multiplos de 3 e 5está certo! Agora se você necessita de numeros que são multplos de 3 ou 5 está errado pois você numeros que são multiplos de 3 mas não são de 5, multiplos de 5 que não são de 3 e numeros que são muiltiplos de 3 e 5 exemplo: 9 multiplo de 3 mas não de 5, 10 multiplo de 5 mas não de 3 e 45 que multiplo de 3 e 5

[quote=x@ndy][quote=maxcanoas]
Pois então, eu preciso dos múltiplos comuns entre 3 e 5, dei uma olhada aqui, e vi o erro que eu estava cometendo em não usar laços de repetição, daí vi também o post do x@ndy, meu código ficou assim:

[code] public int geraExibeMultiplos(){
for (int num = limiteUm; num <= limiteDois; num++){
if (num%3==0 && num%5==0){

        }
    }  
}[/code]

seria por aí?[/quote]
Se você necessita de somente de numeros que são multiplos de 3 e 5está certo! Agora se você necessita de numeros que são multplos de 3 ou 5 está errado pois você numeros que são multiplos de 3 mas não são de 5, multiplos de 5 que não são de 3 e numeros que são muiltiplos de 3 e 5 exemplo: 9 multiplo de 3 mas não de 5, 10 multiplo de 5 mas não de 3 e 45 que multiplo de 3 e 5[/quote]

É, eu preciso dos múltiplos comuns entre 3 e 5.
Mas então tá beleza, valeu…agora eu consigo terminar aqui.