Como faço para dividir um numero e aparecer so o menor divisor exeto o 0?

[quote=sergiotaborda][quote=mario.fts][quote=pedroroxd]Só para saber…
Qual a diferença de

for (int i = 3; i <= n/2; i+=2) {  

e

for (int i = 3; i <= n/2; i=i+2) {  

nenhuma. o resultado é o mesmo.[/quote]

O resultado é o mesmo mas ha uma diferença sim

i++ é uma operação só, unica.
i= i + 1 são 2 operações , a soma e a atribuição.

i+=1 é apenas um atalho para i = i + 1

Ou seja, os comandos que a JVM invoca são diferentes embora o resutlado seja o mesmo[/quote]

Não tenho certeza. Olhando o bytecode gerado, a tradução é igual tanto para i++, i+=1 e i = i +1.

0 iconst_0
1 istore_0
2 iinc 0 by 1
5 return

esse é o bytecode gerado para estes tres métodos

private static void teste1() { int ctOne = 0; ctOne++; }

private static void teste2() { int ctTwo = 0; ctTwo = ctTwo + 1; }

private static void teste3() { int ctThree = 0; ctThree += 1; }