Dado un número entero N , la tarea es verificar si el número dado N es par o impar. Si se encuentra que es par, imprima «Even» . De lo contrario, imprima «Impar» .
Ejemplos:
Entrada: N = 2
Salida: ParEntrada: N = 5
Salida: Impar
Método 1: El enfoque más simple es verificar si el resto obtenido después de dividir el número dado N por 2 es 0 o 1 . Si el resto es 0 , imprima «Par» . De lo contrario, imprima «Impar» .
A continuación se muestra la implementación del enfoque anterior:
C
// C program for the above approach #include <stdio.h> // Function to check if a // number is even or odd void checkEvenOdd(int N) { // Find remainder int r = N % 2; // Condition for even if (r == 0) { printf("Even"); } // Otherwise else { printf("Odd"); } } // Driver Code int main() { // Given number N int N = 101; // Function Call checkEvenOdd(N); return 0; }
Odd
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Método 2: Otro enfoque es utilizar operadores bit a bit . La idea es verificar si el último bit del número N dado es 1 o no. Para verificar si el último bit es 1 , encuentre el valor de (N & 1) . Si el resultado es 1 , imprima “Impar” . De lo contrario, imprima «Par» .
A continuación se muestra la ilustración para N = 5:
N = 5.
La representación binaria de 5 es 00000101 La
representación binaria de 1 es 00000001
——————————————————————-
El valor de AND bit a bit es 00000001Dado que el resultado es 1. Por lo tanto, el número N = 5 es impar.
A continuación se muestra la implementación del enfoque anterior:
C
// C program for the above approach #include <stdio.h> // Function to check if a // number is even or odd void checkEvenOdd(int N) { // If N & 1 is true if (N & 1) { printf("Odd"); } // Otherwise else { printf("Even"); } } // Driver Code int main() { // Given number N int N = 101; // Function Call checkEvenOdd(N); return 0; }
Odd
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Método 3: La idea es inicializar una variable entera var como 1 y cambiarla de 1 a 0 y viceversa alternativamente, N veces. Si var es igual a 1 después de N operaciones, imprime «Even». De lo contrario, imprima «Impar» .
A continuación se muestra la implementación del enfoque anterior:
C
// C program for the above approach #include <stdio.h> // Function to check a number is // even or odd void checkEvenOdd(int N) { // Initialise a variable var int var = 1; // Iterate till N for (int i = 1; i <= N; i++) { // Subtract var from 1 var = 1 - var; } // Condition for even if (var == 1) { printf("Even"); } // Otherwise else { printf("Odd"); } } // Driver Code int main() { // Given number N int N = 101; // Function Call checkEvenOdd(N); return 0; }
Odd
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por codingbeast12 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA