Autor
|
Tema: Saber si un número es par (Leído 25,391 veces)
|
Shell Root
|
Pues hoy en la clase de lógica y programación, nos pusieron un ejercicio de como saber si un número es par. Pero tenemos varias limitaciones. 1. Estamos viendo el condicional IF 2. No podemos usar la función MOD
Sí puedo hacerla fácilmente, pero usando un bucle cosa que tampoco puedo porque no hemos llegado a esa sentencia. No puedo adelantarme...
Hay algún método de calcularlo. Sabiendo qué: (4 / 2) = (2 / 2) = 0 --> PAR
Pero si es un número por ejemplo 84, tengo que hacer muchas operaciones. Alguna idea?
Edit: Otra cosa sería dividir en número entre 2 y validar si es un número entero. Pero como sería eso en un algoritmo pseudocódigo. :S
|
|
« Última modificación: 8 Marzo 2011, 21:14 pm por Shell Root »
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Para saber si es un numero entero vas a tener q usar el mod, yo tambien se como hacerlo de otras formas pero no han dado bucles decis..
|
|
|
En línea
|
|
|
|
Shell Root
|
No, si pudiera usar un bucle lo haría yo mismo. Pero joder, siempre me enseñaron usando la función MOD! Ahora no puedo usarla.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Akai
Desconectado
Mensajes: 823
|
Una solución bastante... <insértese algo aquí> es lo siguiente.
Si tu tienes un número representado en binario, será par si el último bit (LSB, bit de menor peso), es 0. Impar en caso contrario.
Entonces, puedes probar a usar una AND bit a bit, (En C/C++ sería el &, que no el &&) para saber si el LSB bit está a 0.
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Akai, el profesor no le dejara hacer eso xD
|
|
|
En línea
|
|
|
|
Edu
Desconectado
Mensajes: 1.082
Ex XXX-ZERO-XXX
|
Ya se como es, usa un tipo q no use decimales entonces haces asi mira esto en vb6 q fue lo primero q agarre a mano para mas rapido: Private Sub Command1_Click() Dim num As Integer, num2 As Integer num = CInt(Text1.Text) num2 = num / 2 If num = num2 * 2 Then MsgBox "bien" Else MsgBox "mal" End If End Sub
|
|
|
En línea
|
|
|
|
Akai
Desconectado
Mensajes: 823
|
Por qué no? No puedes usar el módulo, tampoco bucles, qué otra solución tienes que recurrir a la aritmética binaria?
Bueno, Se me ocurre otra, Si divides al número entre la mitad de si mismo y da 2, es que es par. Si da diferente, es impar. Eso SIEMPRE Y CUANDO trates con enteros, debido a que en impares, se cancela el resto, y entonces tu número/2 no sería exactamente la mitad
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Si, esa era otra xDDDDDD
|
|
|
En línea
|
|
|
|
Shell Root
|
Lo de la aritmética binaría me suena... Y cabe decir que es un algoritmo en pseudocódigo.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
Me resultó curioso este ejercicio y encontré otra forma para hacerlo (No se me ocurría ). Se sabe que todo número positivo elevado a cualquier número entero da un resultado positivo. En cambio, si el número es negativo, el resultado dará positivo en caso de que el exponente sea par, y negativo si el exponente es impar. Entonces podríamos hacer lo siguiente: n = int(raw_input("Ingrese un numero: ")) if (-1) ** n > 0: print "Es par" else: print "Es impar"
Un saludo
|
|
|
En línea
|
|
|
|
Shell Root
|
Wooow, a ver a ver, esto es lo que necesito, pero no lo entendí. XD Supongamos que tenemos el número "4", si lo elevamos a la -1, que daría: 4 ^ (-1) = 0,25
Ahora un número como el "3", si lo elevamos a la -1, que daría: 3 ^ (-1) = 0,333333333
WTF? Edit:Perdón es alrreves
|
|
« Última modificación: 10 Marzo 2011, 02:21 am por Shell Root »
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
saber si un numero es par o impar en QBASIC !!!!!
Ejercicios
|
€sTeBaN
|
2
|
13,728
|
15 Enero 2006, 18:04 pm
por Ismy
|
|
|
saber si es numero o letras
Programación Visual Basic
|
Zeroql
|
6
|
2,809
|
27 Julio 2007, 06:46 am
por ActiveSheet
|
|
|
Como saber si un numero es par o impar?
PHP
|
ActiveSheet
|
4
|
31,266
|
17 Febrero 2008, 05:53 am
por SirLanceCC
|
|
|
Saber si es numero o caracteres en C++
Programación C/C++
|
tizerlks1
|
3
|
31,427
|
16 Septiembre 2013, 06:35 am
por tizerlks1
|
|
|
saber primer numero y ultimo numero [solucionado]
Bases de Datos
|
basickdagger
|
4
|
4,616
|
3 Septiembre 2014, 17:19 pm
por basickdagger
|
|