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;
}
Good
ReplyDelete