son saber programa por para otro número numeros numero multiplos multiplo los divisores divisible determinar como algoritmo java

java - programa - saber si un numero es divisible por otro c



Cómo comprobar si un entero se puede dividir por 3 (8)

Cómo verificar si mi entero se puede dividir por 3 de la siguiente manera:

for(int i=0; i<24; i++){ //here, how to check if "i" can be divided by 3 completely(e.g. 3, 6, 15)? }


Bueno, lo que podrías hacer ( podría ser un poco más rápido; es más rápido en mi máquina) es:

boolean canBeDevidedBy3 = ((int) (i * 0x55555556L >> 30) & 3) == 0;

en lugar de

boolean canBeDevidedBy3 = (i % 3) == 0;

Sin embargo, el truco de multiplicación solo funciona para -2 <= i <= 1610612735 . Esta respuesta fue inspirada por esta pregunta de optimización . Pero si puedo darte una sugerencia: usa (i % 3) == 0 . Es mucho más simple y siempre funcionará.


Revisa el resto de lo dividido por 3.

if (i % 3 == 0) {}


Si está utilizando un bucle, puede usar el hecho de que cada tercer número se puede dividir por 3.

for(int i = 0; i < 24; i += 3) { System.out.println(i + " can be divided by 3"); System.out.println((i+1) + " cannot be divided by 3"); System.out.println((i+2) + " cannnot be divided by 3"); }

Esto evita la necesidad de un módulo y reduce el número de bucles en un factor de 3.


Usa el operador MOD

for(int i=0; i<24; i++){ if( i%3 == 0 ) // It is divisible by 3 }



dentro del bucle:

if (i%3 == 0) // it can be divided by 3

% se llama "mod" o "módulo" y le da el resto al dividir dos números.

Todos estos son ciertos:

6 % 3 == 0 7 % 3 == 1 7 % 4 == 3


if( i % 3 == 0 )

El operador% te entrega el resto de la división i / 3


if( i % 3 == 0 ){ System.out.println("can be divided by 3"); }else{ System.out.println("cant divide by 3"); }

¿Es esta pregunta de verdad?