A number is called even if the number is divisible by 2 and is called odd if it is not divisible by 2. Given a number, we need to check whether it is odd or even in PHP.
Examples :
Input : 42 Output : Even Explanation: The number 42 is divisible by 2 Input : 39 Output : Odd Explanation: The number 39 is not divisible by 2
We can solve this problem in two different ways as described below:

Using modulo (%) operator: This is the simplest method of checking for even and odd and in this method, we simply check whether the number is divisible by 2 or not using the modulo ‘%’ operator.
Below program explains the above approach:
PHP
<?php
// PHP code to check whether the number
// is Even or Odd in Normal way
function
check(
$number
){
if
(
$number
% 2 == 0){
echo
"Even"
;
}
else
{
echo
"Odd"
;
}
}
// Driver Code
$number
= 39;
check(
$number
)
?>
Output :
Odd
Time Complexity: O(1)

Recursive method: In the recursive approach, we reduce the number by 2 in each recursive call. If the final number is 0 then its even or else it is 1, the result will be odd.
Below is the implementation of above approach:
PHP
<?php
// Recursive function to check whether
// the number is Even or Odd
function
check(
$number
){
if
(
$number
== 0)
return
1;
else
if
(
$number
== 1)
return
0;
else
if
(
$number
<0)
return
check(
$number
);
else
return
check(
$number
2);
}
// Driver Code
$number
= 39;
if
(check(
$number
))
echo
"Even"
;
else
echo
"Odd"
;
?>
Output :Odd
Time Complexity: O(n)

Using Bit Manipulation:
In this method we will find bitwise AND of the number with 1. If the bitwise AND is 1, then the number is odd, else even.Below is the implementation of above idea.
PHP
<?php
// PHP code to check whether the number
// is Even or Odd using Bitwise Operator
function
check(
$number
)
{
// One
$one
= 1;
// Bitwise AND
$bitwiseAnd
=
$number
&
$one
;
if
(
$bitwiseAnd
== 1)
{
echo
"Odd"
;
}
else
{
echo
"Even"
;
}
}
// Driver Code
$number
= 39;
check(
$number
)
?>
Output :Odd
Time Complexity: O(1)
leave a comment
0 Comments