Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Wolf en 29 de Junio 2015, 20:07
-
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.
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");
}
}
-
Buenas tardes, yo no se la sintaxis del lenguaje JAVA asi que al enunciado te lo hize en JavaScript capaz que te ayude.
<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.
-
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.
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.
-
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
-
Si quieres que te cuente hasta 100 también puedes empezar con i= 1 y irte hasta i < 101.
-
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.
-
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.
-
Algo así seria el código pero como te dije no imprimiría la palabra CHOCOLATE porque la condición no le permite.
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 ");
}
}
}
}
-
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.
-
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