BITWISE operator solution in C (HACKERRANK)

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
//Complete the following function.


void calculate_the_maximum(int n, int k) {
  //Write your code here.
  int i = 0, j = 0;
    int var_and, var_and_max = 0,
     var_or, var_or_max = 0,
    var_xor, var_xor_max = 0;
//starting loop
    for ( i = 1 ; i <= n ; i++ )
    {
//traversing all number
        for ( j = 1 ; j <= n ; j++ )
        {
            if ( i < j )
            {
                var_and  = i & j; // assigned bit value after AND operation

                //Checking for maximum
                if ( var_and > var_and_max && var_and < k )
                {
                    var_and_max = var_and; // assigned maximum value to var_and_max
                }
                    
                   //ORING
                var_or   = i | j;
                //Checking for maximum
                if ( var_or > var_or_max && var_or < k )
                {
                    var_or_max = var_or; // assigned maximum value to var_and_max
                }

                   //XORING
                var_xor  = i ^ j;
                ////Checking for maximum
                if ( var_xor > var_xor_max && var_xor < k )
                {
                    var_xor_max = var_xor;    // assigned maximum value to var_and_max
                
                }
            }
        }
    }
    printf("%d\n%d\n%d", var_and_max, var_or_max, var_xor_max);
}



int main() {
    int n, k;
  
    scanf("%d %d", &n, &k);
    calculate_the_maximum(n, k);
 
    return 0;
}

Comments

Post a Comment