Check if a number has two adjacent set bits in C++

Arnab Chakraborty
Updated on 27-Sep-2019 09:04:49

425 Views

Here we will see, if a number has adjacent set bits in its binary representation. Suppose the number 12 has two consecutive 1s (12 = 1100).To check this type of number, the idea is very simple. We will shift the number 1 bit, then do bitwise AND. If the bitwise AND result is non-zero, then there must be some consecutive 1s.Example Live Demo#include using namespace std; bool hasConsecutiveOnes(int n) {    if((n & (n >> 1)) == 1){    return true;    }else{       return false;    } } int main() {    int num = 67; //1000011    if(hasConsecutiveOnes(num)){       cout

Check if a number has same number of set and unset bits in C++

Arnab Chakraborty
Updated on 27-Sep-2019 09:00:47

166 Views

In this section we will check whether a number has same number of set bits and unset bits or not. Suppose the number 12 is there. Its binary representation is 1100. This has same number of 0s and 1s.The approach is simple. We will check each bit of the number, and if that is 1, then increase set_bit_count, and if it is 0, then increase unset_bit_count. Finally, if they are same, then return true, otherwise false.Example Live Demo#include using namespace std; bool hasSameSetUnset(int n) {    int set_count = 0, unset_count = 0;    while(n){       if((n & ... Read More

Check if a number can be written as sum of three consecutive integers in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:57:56

108 Views

In this section we will see, whether a number can be represented as tree consecutive numbers or not. Suppose a number is 27. This can be represented as 8 + 9 + 10.This can be solved in two different approach. The first approach is Naïve approach. In that approach, we have to check i + (i + 1) + (i + 2) is same as number or not. Another efficient approach is by checking whether the number is divisible by 3 or not. Suppose a number x can be represented by three consecutive 1s, then x = (y - 1) ... Read More

Check if a number can be represented as sum of non zero powers of 2 in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:55:45

203 Views

Here we will see, if we can represent a number as sum of two non-zero powers of 2. So we will check the given number N can be represented as (2x + 2y) where x, y > 0. Suppose a number is 10, this can be represented as 23 + 21.The approach is simple. There are two cases. If the number n is even, it can be represented as 2x. Where x > 0. Another case is that is N is odd, it can never be represented as sum of powers of 2. We cannot use power as 0, so ... Read More

Check if a number can be represented as a sum of 2 triangular numbers in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:39:47

96 Views

In this section, we will see if we can express one number as the sum of two triangular numbers or not. The triangular numbers are like below −From the example, we can see that 1, 3, 6, 10 are some triangular numbers. We need to express a number N (say 16) as sum of two triangular numbers (6, 10).The approach is very simple. We have to get all triangular numbers less than N. Form a set from these values. Now we have to take a number say X from the set, and check whether N – X is present in ... Read More

Check if a number can be expressed as x^y (x raised to power y) in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:36:29

134 Views

Here we will check whether we can represent a number as power, like xy or not. Suppose a number 125 is present. This can be represented as 53. Another number 91 cannot be represented as power of some integer value.AlgorithmisRepresentPower(num): Begin    if num = 1, then return true    for i := 2, i2

Check if a number can be expressed as power in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:33:30

123 Views

Here we will check whether we can represent a number as power, like ab or not. Suppose a number 125 is present. This can be represented as 53. Another number 91 cannot be represented as power of some integer value.AlgorithmisRepresentPower(num): Begin    if num = 1, then return true    for i := 2, i2

Check if a number can be expressed as a^b in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:29:51

263 Views

Here we will check whether we can represent a number like ab or not. Suppose a number 125 is present. This can be represented as 53. Another number 91 cannot be represented as power of some integer value.AlgorithmisRepresentPower(num): Begin    if num = 1, then return true    for i := 2, i2

Check if a number can be expressed as a sum of consecutive numbers in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:26:52

270 Views

Here we will see if one number can be represented as sum of two or more consecutive numbers or not. Suppose a number is 12. This can be represented as 3+4+5.There is a direct and easiest method to solve this problem. If a number is power of 2, then it cannot be expressed as sum of some consecutive numbers. There are two facts that we have to keep in mind.Sum of any two consecutive numbers is odd, then one of them will be odd, another one is even.Second fact is 2n = 2(n-1) + 2(n-1).Example Live Demo#include using namespace std; ... Read More

Check if a number can be expressed as 2^x + 2^y in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:24:44

81 Views

Here we will see, if we can represent a number as sum of two non-zero powers of 2. So we will check the given number N can be represented as (2x + 2y) where x, y > 0. Suppose a number is 10, this can be represented as 23 + 21.The approach is simple. There are two cases. If the number n is even, it can be represented as 2x. Where x > 0. Another case is that is N is odd, it can never be represented as sum of powers of 2. We cannot use power as 0, so ... Read More

Advertisements