Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Vicks en 20 Febrero 2012, 21:30 pm



Título: Calcular numeros impares, de 0 a n.
Publicado por: Vicks en 20 Febrero 2012, 21:30 pm
Necesito mostrar números impares de 0 a n. PERO sin usar el operador módulo (%).

Estoy comiendome el tarro y de momento no se me ha ocurrido nada útil.  :o




Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Akai en 20 Febrero 2012, 21:37 pm
Aquí no se hacen ejercicios.


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: DickGumshoe en 20 Febrero 2012, 22:40 pm
Imagínate que quieres elevar (-1) a un número. Si éste es impar, el resultado será de nuevo (-1), pero, si es par, el resultado será positivo, 1.

Así, puedes obtener los números impares. Ahora pásalo a C de manera que obtengas los números impares de 0 a n, como te piden en el ejercicio.

Saludos.

EDITO: Se me olvidó comentar que eso se aplica para el valor absoluto del número.


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Karcrack en 20 Febrero 2012, 23:10 pm
@DickGumshoe: Eso es como matar moscas a cañonazos. Es todo mucho más sencillo.


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: El_Java en 20 Febrero 2012, 23:35 pm
Venga, una pista, si sabes distintos sistemas de numeración deberías saber hacerlo y te sentirás tonto por no haber caido antes cuando lo sepas ;)



Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: soyloqbuskas en 21 Febrero 2012, 02:36 am
Esto es mucho mas facil....
El numero de impares entre 0 y n es n/2 redondeado hacia arriba.
ejemplo: n=8 numero de impares= 4 (1, 3, 5, 7)
              n=9 numero de impares=redondeo(4,5)=5 (1,3,5,7,9)

Un saludo.


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: do-while en 21 Febrero 2012, 02:38 am
Piensa un poco hombre, que por pensar esto no se te va a caer el pelo.

1. Puedes hacer una lista de impares y ver que los relaciona.
2. Usa propiedades de numeros (que pasa si a un par le sumas un par? y si a un par le sumas un impar? y cual es el menor natural par? e impar? ...)

¡Saludos!

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: rir3760 en 21 Febrero 2012, 03:16 am
El numero de impares entre 0 y n es n/2 redondeado hacia arriba.
ejemplo: n=8 numero de impares= 4 (1, 3, 5, 7)
              n=9 numero de impares=redondeo(4,5)=5 (1,3,5,7,9)
Para que la expresión solo utilice enteros se puede cambiar a "(N + 1) / 2".

Un saludo


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Karcrack en 21 Febrero 2012, 03:36 am
¿En serio? Se me ocurren sin pensar dos formas mucho más sencillas:
La primera reemplazar el modulo 2 por un simple and 1 que creo que es a lo que se refería El_Java[/li][/list].
Y la segunda que seguro es que tú necesitas es variando el bucle for haciendo que el contador suba de 2 en dos...


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Xandrete en 21 Febrero 2012, 15:23 pm
Joder, casi nos matamos aquí por decidir la manera de encontrar los números impares entre 0 y n. No me imagino las discusiones a la hora de programar una función que compruebe si un grafo contiene un ciclo hamiltoniano.


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Caster en 21 Febrero 2012, 16:34 pm
Para mí le mejor es la que dice Karcrak, variando el bucle for:
Código
  1. for (x = 1; x <= numero_introducido; x += 2)
  2.  
  3. printf("%d\n", x)


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Sagrini en 21 Febrero 2012, 18:56 pm
Código
  1. int func (int n)
  2. { int i; for (i=1; i<=n; i+=2) {printf ("%d es impar.\n);} }
  3.  

---
Modf1: Sorry por el post inútil, no había visto la respuesta de Demon :P Me paré en el post de Xandrete por la risa jajaja


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: $Edu$ en 22 Febrero 2012, 15:59 pm
http://latecladeescape.com/algoritmos/1144-algoritmo-para-saber-si-un-numero-es-par-o-impar-o-de-como-enrollarse-con-un-tema-de-lo-mas-tonto


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Akai en 22 Febrero 2012, 18:14 pm
Felicidades por incumplir las normas acerca de que aquí no se hacen tareas y hacerle el trabajo sucio.

En serio, felicidades.


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: $Edu$ en 22 Febrero 2012, 18:39 pm
Lo dices por mi? le deje un link donde puede aprender y no solo copiar codigo, pero no creo que lo hayas dicho por mi..


Título: Re: Calcular numeros impares, de 0 a n.
Publicado por: Caster en 22 Febrero 2012, 18:41 pm
Lo dices por mi? le deje un link donde puede aprender y no solo copiar codigo, pero no creo que lo hayas dicho por mi..

Que va, lo dirá por mí.