Given a number we have to find whether number is even or odd without using mod operator.
So what is even and odd number?
Even Number: number that is divisible by 2.
odd number:number that is not divisble by 2.
Example:
input:28
output:even
input:37
output:odd
there are two approach to find even and odd number
1-by using mod operator.
2-by using xor operator.
Approach 1:using modulus operator.
#include<iostream> using namespace std; int main() { int number; cout<<"enter a number "<<endl; cin>>number; if(number%2==0) { cout<<"number is even "<<endl; } else { cout<<"number is odd "<<endl; } }
enter a number :69 number is odd.
Approach 2 : by using xor operator.
Logic:
main idea is to check whether the last bit of number is set or not.
#include<iostream> using namespace std; bool even(int number) { return (!(number&1)); //if it is true then it is even otherwise it is false } int main() { int number; cout<<"enter a number "<<endl; cin>>number; if(even(number)==true) { cout<<"number is even "<<endl; } else { cout<<"number is odd "<<endl; } }
enter a number :72 number is even
Time Complexity:O(1)
space complexity:O(1)