美文网首页
LeetCodeDay27 —— 3的幂

LeetCodeDay27 —— 3的幂

作者: GoMomi | 来源:发表于2018-05-05 12:26 被阅读0次

326. 3的幂

描述
  • 给出一个整数,写一个函数来确定这个数是不是3的一个幂。
  • 后续挑战:你能不使用循环或者递归完成本题吗?
思路
  1. 循环或递归:思路较简单。既可以1开始乘以3判断,也可以从n开始除以3判断。(但是比较耗时)
  2. 对数方法:一个数是3的次方,那么以3为底n的对数一定是个整数。实现上可利用换底公示。(换底公示)
  3. 如果题目是2的次方,可以用二进制的方法,2的N次幂的特点:仅有首位为1,其余各位都为0( n & n-1 == 0)
class Solution_326_01 {
 public:
  bool isPowerOfThree(int n) {
    if (n < 1) return false;
    while (n > 1) {
      int remain = n % 3;
      if (remain != 0) return false;
      n = n / 3;
    }
    return true;
  }
};

class Solution_326_02 {
 public:
  bool isPowerOfThree(int n) {
    double tem = log10(n) / log10(3.0);
    if (int(tem) - tem == 0) // 判断一个数是否为整数的做法,值得学习
      return true;
    else
      return false;
  }
};

相关文章

  • LeetCodeDay27 —— 3的幂

    326. 3的幂 描述 给出一个整数,写一个函数来确定这个数是不是3的一个幂。 后续挑战:你能不使用循环或者递归完...

  • 郑州轻工业大学oj题解(c语言)-1005: 整数幂

    1005: 整数幂 题目描述 输入3个整数,输出它们的1次幂、2次幂和3次幂。 输入 输入3整数,用空格隔开。 输...

  • 2017-7-25 数学 笔记

    power:幂次 eg:three to the fourth power: 3的四次幂 Quantity A ....

  • 3的幂

    给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 输入: 27输出: true示例 2: 输入:...

  • 3的幂

    题目描述 难度级别:简单 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返...

  • 342-4的幂

    给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4的幂次方。 同3的幂,3的幂,最简单就是循环...

  • 等了好久的幂幂终于来啦!!!

    幂幂代言的终于上线啦~ MO&CO开播239款; 限时时间:3天

  • js递归(一)——自幂数、水仙花

    自幂数定义自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当n为3时,有1^3 +...

  • Swift 3的幂 - LeetCode

    题目: 3的幂 描述:给定一个整数,写一个函数来判断它是否是 3 的幂次方。 案例1: 示例 2: 案例 3: 案...

  • 326-3的幂

    3的幂 题目 给定一个整数,写一个函数来判断它是否是 3的幂次方。 示例 1: 示例 2: 示例 3: 示例 4:...

网友评论

      本文标题:LeetCodeDay27 —— 3的幂

      本文链接:https://www.haomeiwen.com/subject/jpisrftx.html