给定整数N ,任务是检查给定数字N是偶数还是奇数。如果发现是偶数,则打印“偶数” 。否则,打印“奇数” 。
例子:
Input: N = 2
Output: Even
Input: N = 5
Output: Odd
方法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的示意图:
N = 5.
Binary representation of 5 is 00000101
Binary representation of 1 is 00000001
——————————————————————-
The value of Bitwise AND is 00000001
Since the result is 1. Therefore, the number N = 5 is odd.
下面是上述方法的实现:
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)