Programa en C para comprobar si un número dado es par o impar

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: Par

Entrada: 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;
}
Producción:

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 00000001

Dado 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;
}
Producción:

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;
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *