Bitwise AND, OR, XOR in range

Given two integers M and N as input, the program must apply the bitwise AND operation for the odd numbers between M and N(inclusive) as S1 and apply the bitwise OR operation for the even numbers between M and N(inclusive) as S2. Finally, XOR the bits of S1 and S2 and print it.

Boundary Condition(s):
1 <= M < N 
M < N <=999999

Input Format:
The first line contains the M and N value separated by space.

Output Format:
The first line contains the integer value.

Example Input/Output 1:
Input:
3 6

Output:
7

Explanation :
By applying bitwise AND operation for 3 and 5 is 1, bitwise OR operation for 4 and 6 is 6, and bitwise XOR operation for 1 and 6 is 7

Example Input/Output 2:
Input:
10 16

Output:
23

#include<stdio.h>
#include <stdlib.h>
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    int s1=0,s2=0;
    for(int i=m;i<=n;++i){
        if(i%2==0){
            s2=s2|i;
        }
        else{
            s1=s1==0 ? i : i& s1;
        }
    }
    printf("%d",s1^s2);
    return 0;
}
Previous Article

Alternate Row Pattern

Next Article

Number Diamond Pattern

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *