Keshawn_lu's Blog

Leetcode 1780. 判断一个数字是否可以表示成三的幂的和

字数统计: 155阅读时长: 1 min
2022/12/09 Share

题目简介:

给你一个整数 n ,如果你可以将 n 表示成若干个不同的三的幂之和,请你返回 true ,否则请返回 false

对于一个整数 y ,如果存在整数 x 满足 y == 3x ,我们称这个整数 y 是三的幂。

示例 1:

1
2
3
输入:n = 12
输出:true
解释:12 = 31 + 32

示例 2:

1
2
输入:n = 21
输出:false

思路:

只需要判断该数字的三进制是否只有1, 0构成即可。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
bool checkPowersOfThree(int n) {

while(n > 0){

if(n % 3 == 2)
return false;

n /= 3;
}

return true;
}
};
CATALOG
  1. 1. 题目简介:
  2. 2. 思路:
  3. 3. 代码如下: