
- C++ Basics
- C++ Home
- C++ Overview
- C++ Environment Setup
- C++ Basic Syntax
- C++ Comments
- C++ Data Types
- C++ Variable Types
- C++ Variable Scope
- C++ Constants/Literals
- C++ Modifier Types
- C++ Storage Classes
- C++ Operators
- C++ Loop Types
- C++ Decision Making
- C++ Functions
- C++ Numbers
- C++ Arrays
- C++ Strings
- C++ Pointers
- C++ References
- C++ Date & Time
- C++ Basic Input/Output
- C++ Data Structures
- C++ Object Oriented
- C++ Classes & Objects
- C++ Inheritance
- C++ Overloading
- C++ Polymorphism
- C++ Abstraction
- C++ Encapsulation
- C++ Interfaces
Check if a number can be expressed as 2^x + 2^y in C++
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 we cannot get odd numbers. for all odd numbers LSb of its binary representation is 1
Example
#include <iostream> using namespace std; bool isSumofTwosPower(int n) { if((n & 1) == 0){ return true; }else{ return false; } } int main() { int num = 86; if(isSumofTwosPower(num)){ cout << "Can be represented"; }else{ cout << "Cannot be represented"; } }
Output
Can be represented
- Related Articles
- Check if a number can be expressed as x^y (x raised to power y) in C++
- Check if a number can be expressed as power in C++
- Check if a number can be expressed as a^b in C++
- Check if a number can be expressed as a^b in Python
- Check if a number can be expressed as sum two abundant numbers in C++
- Check if a number can be expressed as a sum of consecutive numbers in C++
- Check if a prime number can be expressed as sum of two Prime Numbers in Python
- Check if the following is true.\( (x+y)^{2}=(x-y)^{2}+4 x y \)
- Check if a number can be represented as a sum of 2 triangular numbers in C++
- Check if a number can be represented as sum of non zero powers of 2 in C++
- Check if an integer can be expressed as a sum of two semi-primes in Python
- C++ Program to Check Whether a Number can be Expressed as Sum of Two Prime Numbers
- Java Program to Check Whether a Number can be Expressed as Sum of Two Prime Numbers
- Swift program to check whether a number can be expressed as sum of two prime numbers
- Haskell Program to Check Whether a Number can be Expressed as Sum of Two Prime Numbers

Advertisements