Buenas noches chic@s el problema es que estaba haciendo un ejercicio simple en lenguaje C, que era saber si un número es par o impar, me quedo bien si , pero al codigo o al proceso no le encuentro la logica que puse, entonces me gustaria saber si ustedes me podrian ayudar, ya que tienen mas experiencia que yo, Gracias
Codigo=
#include <stdio.h>
#include <windows.h>
#include <conio.h>
main (){
int n;
printf("Digite el número: ");
scanf("%d",&n);
if (n/2*2 == n ) {printf("Par");} else {printf("Impar");}
getch();
}
Lo que hace tu codigo primero es dividir el numero luego lo multiplica por dos y despues compararlo con el numero original
Ejemplo
si ingresas un 5
el if quedaria asi ===> 5/2*2==5
que si resolvemos las operaciones realmente quedaria esto
5/2==> 2, en efecto daria dos y no 2.5 ya que en programacion cuando divides un variable de tipo int entre otro entero siempre dara un entero, para que quedara con decimales tendrias que cambiar el tipo de dato de int a float o especificar el numero como float ejemplo: 2.0
osea especificando la parte decimal
Despues haria esta operacion
2*2==>4
ya teniendo ese numero lo comparia con el 5 original si es igual da true en este caso dara un false por ende es impar
Otro ejemplo seria usando el numero 8
8/2 ==>4
4*2==> 8
8==8
Al comparar el resultado seria true por ende par
El algortimo funciona pero la forma clasica es hacerto
if(numero%2==0)
esPar
else
noesPar
Lo que hace es dividir el numero entre dos y si su residuo es cero entonces es par en caso contrario es impar.
si tienes dudas avisa
Saludos... :silbar:
Wow gracias amigos me has sacado de una duda, te agradezco mucho por responder :)
Y saludos ;-) ;-) ::)