Check If a Number Has Two Adjacent Set Bits in C++

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

557 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

290 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

296 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 a Sum of 2 Triangular Numbers in C++

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

209 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 in C++

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

215 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

214 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

361 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

542 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

202 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 Large Number is Divisible by 9 in C++

Arnab Chakraborty
Updated on 27-Sep-2019 08:18:34

336 Views

Here we will see how to check a number is divisible by 9 or not. In this case the number is very large number. So we put the number as string.A number will be divisible by 9, if the sum of digits is divisible by 9.Example Live Demo#include using namespace std; bool isDiv3(string num){    int n = num.length();    long sum = accumulate(begin(num), end(num), 0) - '0' * n;    if(sum % 9 == 0)       return true;       return false; } int main() {    string num = "630720";    if(isDiv3(num)){       cout

Advertisements