elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  No me sale el algoritmo! >_>
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No me sale el algoritmo! >_>  (Leído 4,170 veces)
Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
No me sale el algoritmo! >_>
« en: 27 Noviembre 2008, 18:20 pm »

Hola buenas! Tengo un pequeño problemilla. Intento hacer un codigo que solicite 2 numeros y que me imprima los numeros impares y primos de entre los numeros enteros entre los dos numeros que nos facilita el usuario (por separado). (En realidad no es un programa que haga simplemente esto si no, una de las opciones de un menú donde hay multitud de operaciones matemáticas, pero especialmente en el algoritmo de calcular primos y el de impares por separado, no me sale he probado mil algoritmos con mil bucles distintos, for, while, do-while con switch no lo e llegado a intentar aunke kreo que no saldrá....

El de los primos no tengo ni idea asike lo más seguro ske lo suprima del menú. Lo que mas me gustaría centrarme es para calcular los impares, por lo menos:

Tengo algoritmos como:

Código
  1. while ( numero1<numero2)
  2. {
  3. if((numero1%2)!=0)
  4. {
  5. System.out.printf("El numero impar es: %d", numero1);
  6. }
  7. numero1++;
  8. }
  9.  

Este me crea bucle infinito.

Código
  1. while ((numero1<numero2) && ((numero1%2)!=0)){
  2. s.o.p.("El numero impar es: %d", numero1);
  3. numero1++;
  4. }
  5.  

Se me keda frito, tapoco funciona.

**********eSTos son los 2 algoritmos que veo mas probables para hacerlo con while, tengo muchos mas luego los pego por aki si hace falta pero enfin..

TB e probao con otros como:

Código
  1. for(i=numero1;i=<numero2){
  2. if((i%2)!=0){
  3. System.out.printf("Impar: %d\n", i);
  4. }
  5. i++;
  6. }
  7.  

Con for, este por ej. tengo otro por ahi, otro con do while, pero es muy parecido al del while, haciendo incremente y tal. y con el swicht me gustaria saber si es posible hacerlo. Por curiosidad nada mas.

Saludos! Aver si pueden echarme un cable que me trae de cabeza este algoritmo y se que me ekivoco en una idiotez pero no la identifico, gracias de antemano



En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: No me sale el algoritmo! >_>
« Respuesta #1 en: 27 Noviembre 2008, 18:33 pm »

Si entendi bien, lo que quieres es que te imprima los números impares y primos, en el otro post, puse un algortimo para ver si un número es primo, tal vez te sirva, y para los impares podrias hacer algo mas o menos así:

Código
  1. for(int i = numero1; i < numero2; i++) {
  2.                if((i % 2) != 0)
  3.                        System.out.println(i + " es impar");
  4. }
  5.  

el de los primos es:

Código
  1. public boolean esPrimo(int numero) {
  2.            double raiz = Math.sqrt(numero);
  3.            for(int i = 2; i <= raiz; i++) {
  4.                     if(numero % i == 0)
  5.                                return false;
  6.            }
  7.            return true;
  8. }

En tus algoritmos:
printf no existe y no se usa de esa forma el println, mira como lo uso en el de arriba.

El segundo algoritmo sale al primer número que no sea impar.

Y el tercero, igual lo del printf y ademas es <= no =<, también te dara errores. No tengo tiempo de mirarlos bien, porque voy de salida a clases, pero, creo que es eso mas o menos.


« Última modificación: 28 Noviembre 2008, 19:47 pm por -Ramc- » En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: No me sale el algoritmo! >_>
« Respuesta #2 en: 27 Noviembre 2008, 19:45 pm »

Código
  1. public boolean esPrimo(numero)
  2. {
  3.  if ((numero==1)||(numero==2)||numero==3))
  4.     return true;
  5.  else
  6.  {
  7.     for (int i=2;i<numero;i++)
  8.     {
  9.        if (numero % i ==0)
  10.         return false;
  11.     }
  12.  return true;
  13. }

Ese es el basico esPrimo. Lo puedes optimizar disminuyendo la cantidad de condiciones del primer if y evitando que recorra (en el for) numero innecesarios: un numero nunca sera divisible por aquellos que esten entre (numero/2)+1 y numero-1.
Saludos.
En línea

Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
Re: No me sale el algoritmo! >_>
« Respuesta #3 en: 27 Noviembre 2008, 19:58 pm »

Joer muchas gracias por lo del numero primo, :)) :) Y por el codigo rmc, tb, dios que idiotez fallaba en una tonteria y me volvia loco buscando.

Que estaría mal en este bucle?:

Código
  1. do{
  2. System.out.printf.("El numero impar es: %d", numero1);
  3. numero1++;
  4. }while ((numero1<numero2) && ((numero1%2)!=0))
  5.  

Nosé porque me sale mal porque sale impar: un numero, impar: otro numero y estan mal uno de ellos siempre y no imprime mas de 2 numeros... nose como solucionarlo, si me facilitan una orientación se lo agradeceria, esque los bucles me cuestan xDD

Gracias  de nuevo por lo del numero primo
En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: No me sale el algoritmo! >_>
« Respuesta #4 en: 28 Noviembre 2008, 20:15 pm »

~AbbadoN~  printf no existe :P

supongo que numero1 es 0, al principio del bucle y lo imprime, después aumenta en 1 es decir que numero1 seria 1, hace la comprobación de que numero1 sea menor que numero2, supongo que numero2 sera uno mas grande, luego comprueba que numero1%2 no sea 0 y pasa la comprobación, vuelve a entrar, imprime el 1, aumenta a 2, hace la comprobación y como 2%2 da 0, sale del bucle y no entra mas. Por eso solo te imprime 2 numeros.
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
Dem0ny

Desconectado Desconectado

Mensajes: 233


ReseacheR


Ver Perfil WWW
Re: No me sale el algoritmo! >_>
« Respuesta #5 en: 29 Noviembre 2008, 03:51 am »

Ya funciona.

Printf si existe en java, pruebalo  :P
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Qué método usar para WLAN_XXXX cuando no sale con el algoritmo?
Hacking Wireless
ullu 3 3,549 Último mensaje 29 Abril 2012, 17:28 pm
por alex2424
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines