题意: 给你一个整数 n ,如果你可以将 n 表示成若干个不同的三的幂之和,请你返回 true ,否则请返回 false 。 对于一个整数 y ,如果存在整数 x 满足 y == 3x ,我们称这个整数 y 是三的幂。 数据范围: 1 <= n <= 1e7 解法: 显然问题可以看作三进制下的n,是否所有位都<=1, 如果有一位为2,则不合法. code: class Solution { public: bool checkPowersOfThree(int n) { while(n){ int t=n%3; if(t>=2)return 0; n/=3; } return 1; } };