C Exercises: Check if a given integer is a power of three
C Programming Mathematics: Exercise-13 with Solution
Write a C program to check if a given integer is a power of three.
Example:
Input: 9
Output: true
Input: 81
Output: true
Input: 45
Output: false
Pictorial Presentation:

Sample Solution:
C Code:
#include <stdio.h>
#include <stdbool.h>
static bool is_PowerOf_Three(int n) {
#if 0
if (n == 1) return true;
if (n == 0 || n % 3) return false;
return is_PowerOf_Three(n / 3);
#else
return (n > 0 && (1162261467 % n) == 0);
#endif
}
int main(void)
{
int n = 9;
printf("\nIf %d is power of three? %d", n, is_PowerOf_Three(n));
n = 81;
printf("\n\nIf %d is power of three? %d", n, is_PowerOf_Three(n));
n = 45;
printf("\n\nIf %d is power of three? %d", n, is_PowerOf_Three(n));
return 0;
}
Sample Output:
If 9 is power of three? 1 If 81 is power of three? 1 If 45 is power of three? 0
Flowchart:

C Programming Code Editor:
Improve this sample solution and post your code through Disqus.
Previous: Write a C programming to add repeatedly all digits of a given non-negative number until the result has only one digit.
Next: Write a C programming to calculate the number of 1's in their binary representation and return them as an array.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join