Autor Tema: ejercicio algoritmo comprobar la divisibilidad de números entre 3, 5 y 15 java  (Leído 19368 veces)

Wolf

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 13
    • Ver Perfil
Hola. Tengo una duda respecto a un ejercicio, que he encontrado por interntet. No entiendo la última parte. Dejo el enunciado y el código que he hecho yo.

- Escribe un algoritmo en cualquier lenguaje de programación, que cuente del 1 al 100, y que muestre por pantalla "CHOCO" cuando el numero sea divisible por 3, "LATE" cuando sea divisible por 5 y "CHOCOLATE"cuando sea divisible por 15.

Yo lo estoy escribiendo en Java. La cuestión, es que si es divisible por 3 y 5, normalmente es por 15 también. El único caso que veo que no es divisible por 3 es cuando el número tiene un 5 como 25. No sé si lo estoy entendiendo mal o qué. Supongo que sí jejeje. Dejo el código que he escrito. A ver si me podéis ayudar a entenderlo. Gracias.

Código: [Seleccionar]
package ejercicios_Contro_de_flujo;

public class Chocolate {

public static void main(String[] args) {
// TODO Auto-generated method stub

int aleatorio =(int)(Math.random()*100);

int divisible_3 = 3;

int divisible_5 = 5;


if(aleatorio>=divisible_3 && aleatorio % divisible_3==0){

System.out.println("CHOCO");

}

if(aleatorio >= divisible_5 && aleatorio % divisible_5==0){

System.out.println("LATE");

}

System.out.println("CHOCOLATE");

}
}
« Última modificación: 30 de Junio 2015, 14:42 por César Krall »

GonzaH

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 30
  • SMFPersonal
    • Ver Perfil
    • SMFPersonal
Re:EJERCICIO DE CONTROL DE FLUJO
« Respuesta #1 en: 29 de Junio 2015, 22:14 »
Buenas tardes, yo no se la sintaxis del lenguaje JAVA asi que al enunciado te lo hize en JavaScript capaz que te ayude.

Código: [Seleccionar]
<html>
<head>
<title>Javascript</title>
</head>
<body>
<script type="text/javascript">
var i=1;
for(i=1; i<101; i++)
{
if(i%3==0)
{
document.write(i+" LATE</br>");
}
if(i%5==0)
{
document.write(i+" CHOCOLATE</br>");
}
}
</script>
</body>
</html>

Uso la estructura for de repetición , inicio la variable i en 1, en la codición pregunto que si i es menor que 101 que se incremente en 1.

Despues adentro del bucle  creo una condicion preguntando que si el resto de la división de i/3 es igual a 0 que imprima "LATE" y tambien creo otra preguntado que si el resto de i/5 es igual 0 que imprima "CHOCOLATE". la variable i se va incrementar hasta llegar a 100, por que en cada vuelta que haga se le va a sumar uno.

Saludos espero que sea de ayuda.

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:EJERCICIO DE CONTROL DE FLUJO
« Respuesta #2 en: 29 de Junio 2015, 23:47 »
Es lógico que haya algunos números que se pueden dividir con 3,5 y 15. Si es así mostrar los tres, si no mostrar lo que se cumpla de cada condición. El código con random() te genera un número aleatorio pero el enunciado te pide que cuente del 1 al 100.

Yo hice un código ojalá que te ayude y te dé alguna idea.

Código: [Seleccionar]
package controlflujo;

public class ControlFlujo {

    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            if (i % 3 == 0) {
                System.out.println(i+" CHOCO");
            }
            if (i % 5 == 0) {
                System.out.println(i+" LATE");
            }
            if (i % 15 == 0) {
                System.out.println(i+" CHOCOLATE   ");
            }
        }
    }

}
aunque puede poner condición que solo imprima si es divisible de 3 y que no sea de 5 ni de 15 o viceversa.
« Última modificación: 30 de Junio 2015, 14:40 por César Krall »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:EJERCICIO DE CONTROL DE FLUJO
« Respuesta #3 en: 29 de Junio 2015, 23:49 »
Si no estás siguiendo el curso de java desde cero yo te recomendaría que sigas el curso te va a ayudar mucho sobre cómo programar en java.

Enlace: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188
« Última modificación: 30 de Junio 2015, 14:40 por César Krall »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:EJERCICIO DE CONTROL DE FLUJO
« Respuesta #4 en: 29 de Junio 2015, 23:53 »
Si quieres que te cuente hasta 100 también puedes empezar con i= 1 y irte hasta i < 101.
« Última modificación: 30 de Junio 2015, 14:43 por César Krall »

Wolf

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 13
    • Ver Perfil
Hola DRANKZ88. Ya sabía lo que hacía random(). Lo puse así por que quería jeje. La duda que tenía era saber cual era la característica que hacía divisible por 15 y no por 3 ó 5. Esa era la duda . También estoy siguiendo el curso :-). Muchas gracias por contestar.

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Creo que no hay numero por lo que yo sepa que sea divisible por 15 pero que no sea por 3 ni 5 si pone esa condición nunca imprimiría CHOCOLATE las otra dos si pero el 15 no.

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Algo así seria el código pero como te dije no imprimiría la palabra CHOCOLATE porque la condición no le permite.
Código: [Seleccionar]
package controlflujo;

public class ControlFlujo {

    public static void main(String[] args) {
        for (int i = 1; i < 101; i++) {
            if ((i % 3 == 0) != (i % 5 == 0) && (i % 3 == 0) != (i % 15 == 0)) {
                System.out.println(i + " CHOCO");
            }
            if ((i % 5 == 0) != (i % 3 == 0) && (i % 5 == 0) != (i % 15 == 0)) {
                System.out.println(i + " LATE");
            }
            if ((i % 15 == 0) != (i % 3 == 0) && (i % 15 == 0) != (i % 5 == 0)) {
                System.out.println(i + " CHOCOLATE   ");
            }
        }
    }

}

Wolf

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 13
    • Ver Perfil
No verdad. Es que, el que puso el enunciado decía, que los alumnos no entendían el enunciado. Supongo, que es eso, que no hay número que sea divisible solo por 15. Muchas gracias.

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Hola, 15 se puede expresar como 3*5. Cualquier número que sea divisible por 15 es un producto de (3*5*x) de modo que siempre será divisible tanto por 3 como por 5.  ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".