Welcome to Subscribe On Youtube
1780. Check if Number is a Sum of Powers of Three
Description
Given an integer n
, return true
if it is possible to represent n
as the sum of distinct powers of three. Otherwise, return false
.
An integer y
is a power of three if there exists an integer x
such that y == 3x
.
Example 1:
Input: n = 12 Output: true Explanation: 12 = 31 + 32
Example 2:
Input: n = 91 Output: true Explanation: 91 = 30 + 32 + 34
Example 3:
Input: n = 21 Output: false
Constraints:
1 <= n <= 107
Solutions
-
class Solution { public boolean checkPowersOfThree(int n) { while (n > 0) { if (n % 3 > 1) { return false; } n /= 3; } return true; } }
-
class Solution { public: bool checkPowersOfThree(int n) { while (n) { if (n % 3 > 1) return false; n /= 3; } return true; } };
-
class Solution: def checkPowersOfThree(self, n: int) -> bool: while n: if n % 3 > 1: return False n //= 3 return True
-
func checkPowersOfThree(n int) bool { for n > 0 { if n%3 > 1 { return false } n /= 3 } return true }
-
function checkPowersOfThree(n: number): boolean { while (n) { if (n % 3 > 1) return false; n = Math.floor(n / 3); } return true; }