# Find whether a given integer is a power of 3 or not

Given a positive integer, write a function to find if it is a power of three or not.
Examples:

```Input : 3
Output :Yes

Input :6
Output :No
```

The logic is very simple. Any integer number other than power of 3 which divides highest power of 3 value that integer can hold 3^19 = 1162261467 (Assuming that integers are stored using 32 bits) will give reminder non-zero.

## C++

 `// C++ program to check if a number is power ` `// of 3 or not. ` `#include ` ` `  `// Returns true if n is power of 3, else false ` `bool` `check(``int` `n) ` `{ ` `    ``/* The maximum power of 3 value that  ` `       ``integer can hold is 1162261467 ( 3^19 ) .*/` `    ``return` `1162261467 % n == 0; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 9; ` `    ``if` `(check(n)) ` `        ``printf``(``"Yes"``); ` `    ``else` `        ``printf``(``"No"``); ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java program to check if a number is power ` `// of 3 or not. ` `public` `class` `Power_3 { ` ` `  `    ``// Returns true if n is power of 3, else false ` `    ``static` `boolean` `check(``int` `n) ` `    ``{ ` `        ``/* The maximum power of 3 value that  ` `           ``integer can hold is 1162261467 ( 3^19 ) .*/` `        ``return` `1162261467` `% n == ``0``; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``int` `n = ``9``; ` `        ``if` `(check(n)) ` `            ``System.out.println(``"Yes"``); ` `        ``else` `            ``System.out.println(``"No"``); ` `    ``} ` `} ` `// This code is contributed by Sumit Ghosh `

## Python

 `# Python program to check if a number is power ` `# of 3 or not. ` `  `  `# Returns true if n is power of 3, else false ` `def` `check(n): ` `    ``""" The maximum power of 3 value that  ` `       ``integer can hold is 1162261467 ( 3^19 ) ."""` `    ``return` `1162261467` `%` `n ``=``=` `0` `  `  `# Driver code ` `n ``=` `9` `if` `(check(n)): ` `    ``print` `(``"Yes"``) ` `else``: ` `    ``print` `(``"No"``) ` ` `  `# This code is contributed by Sachin Bisht `

## C#

 `// C# program to check if a number ` `// is power of 3 or not. ` `using` `System; ` ` `  `public` `class` `GFG { ` ` `  `    ``// Returns true if n is power ` `    ``// of 3, else false ` `    ``static` `bool` `check(``int` `n) ` `    ``{ ` `         `  `        ``/* The maximum power of 3 ` `        ``value that integer can hold ` `        ``is 1162261467 ( 3^19 ) .*/` `        ``return` `1162261467 % n == 0; ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 9; ` `        ``if` `(check(n)) ` `            ``Console.Write(``"Yes"``); ` `        ``else` `            ``Console.Write(``"No"``); ` `    ``} ` `} ` ` `  `// This code is contributed by  ` `// nitin mittal. `

## PHP

 ` `

Output:

```Yes
```

Time Complexity : O(1)

## tags:

Mathematical divisibility Mathematical