判断一个数是否是3的n次幂

这里我用了一点巧,所有的int范围的3的n次幂是int范围最大的3的n次幂数(即3^((int)log3(MAXINT)) =  1162261467)的约数

这种方法是我目前觉得是最好的,不容易出错,其他的方法因为精度问题而很容易错。

1 class Solution {
2 public:
3     bool isPowerOfThree(int n) {
4         if(n>0) return 1162261467%n==0;
5         else return false;
6     }
7 };

 

相关文章:

  • 2022-02-17
  • 2021-11-24
  • 2021-12-07
  • 2021-08-23
  • 2022-12-23
  • 2021-07-29
  • 2022-12-23
猜你喜欢
  • 2021-12-02
  • 2021-09-04
  • 2022-01-29
  • 2021-08-26
  • 2021-11-29
  • 2021-08-12
相关资源
相似解决方案