📌  相关文章
📜  C程序检查给定数字是偶数还是奇数

📅  最后修改于: 2021-05-28 05:29:10             🧑  作者: Mango

给定整数N ,任务是检查给定数字N是偶数还是奇数。如果发现是偶数,则打印“偶数” 。否则,打印“奇数”

例子:

方法1:最简单的方法是检查将给定数N除以2后获得的余数是0还是1 。如果余数为0 ,则打印“ Even” 。否则,打印“奇数”

下面是上述方法的实现:

C
// C program for the above approach
#include 
  
// 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;
}


C
// C program for the above approach
  
#include 
  
// 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;
}


C
// C program for the above approach
#include 
  
// 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

时间复杂度: O(1)
辅助空间: O(1)

方法2:另一种方法是使用按位运算符。想法是检查给定数字N的最后一位是否为1 。要检查最后一位是否为1,请找到(N&1)的值。如果结果为1 ,则打印“ Odd” 。否则,打印“ Even”

下面是N = 5的示意图:

下面是上述方法的实现:

C

// C program for the above approach
  
#include 
  
// 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

时间复杂度: O(1)
辅助空间: O(1)

方法3:想法是将整数变量var初始化为1 ,并将其从1更改为0 ,反之亦然, N次。如果N次操作后var等于1 ,则打印“ Even”。否则,打印“奇数”

下面是上述方法的实现:

C

// C program for the above approach
#include 
  
// 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

时间复杂度: O(1)
辅助空间: O(1)