题目链接
判断一个数字是否可以表示成三的幂的和
题目描述

注意
- n 是否可以表示成若干个不同的三的幂之和,也就是3的i次方最多只能计算一次
解答思路
- 不断对n除以3取余,如果在此过程中余数为2,则其不能表示成三的幂的和,如果能一直循环直到n为0,则满足题意
代码
方法一:
class Solution {
public boolean checkPowersOfThree(int n) {
while (n != 0) {
if (n % 3 == 2) {
return false;
} else {
n /= 3;
}
}
return true;
}
}
关键点
- 将n转为三进制,进行不断取余判断其是否可以表示成三的幂的和