C++ Exercises: Check if a given integer is a power of three or not
12. Check if Integer is a Power of Three
Write a C++ program to check if a given integer is a power of three or not.
Input: 9
Output: true
Input: 81
Output: true
Input: 45
Output: false
Sample Solution:
C++ Code :
#include <iostream>
using namespace std;
// Function to check if a number is a power of three
string is_PowerOf_Three(int n) {
// Continuously divide 'n' by 3 until it's not divisible by 3
while (n % 3 == 0) {
n = n / 3;
}
// If the final value of 'n' is 1, then it is a power of three
if (1 == n) {
return "True";
} else {
return "False"; // Otherwise, it is not a power of three
}
}
int main(void) {
// Test cases to check if the numbers are powers of three
int n = 15;
cout << "\nIf " << n << " is power of three? " << is_PowerOf_Three(n) << endl;
n = 9;
cout << "\nIf " << n << " is power of three? " << is_PowerOf_Three(n) << endl;
n = 243;
cout << "\nIf " << n << " is power of three? " << is_PowerOf_Three(n) << endl;
return 0; // Return 0 to indicate successful completion
}
Sample Output:
If 15 is power of three? False If 9 is power of three? True If 243 is power of three? True
Flowchart:

For more Practice: Solve these Related Problems:
- Write a C++ program to determine if a given integer is a power of three by using a recursive function.
- Write a C++ program that reads a number and checks for power-of-three property by continuously dividing by 3 until reaching 1.
- Write a C++ program to check if a number is a power of three using logarithms and integer rounding for verification.
- Write a C++ program that implements a loop-based approach to verify if an integer is a power of three without using the division operator directly.
Go to:
PREV : Add Digits Until Single Digit (Digital Root).
NEXT : Count 1's in Binary Representations for Numbers 0 to n.
C++ Code Editor:
Contribute your code and comments through Disqus.
What is the difficulty level of this exercise?