栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

作文以记之 ~ 3的幂数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

作文以记之 ~ 3的幂数

作文以记之 ~ 3的幂数
  • 0、前言
  • 1、题目描述
  • 2、解题思路
    • 2.1 方法1 ~ 暴力解法
      • 2.1.1 思路
      • 2.1.2 程序代码
    • 2.2 方法2 ~ 判断约数
      • 2.2.1 思路
      • 2.1.2 程序代码

0、前言

本篇博客是力扣上 326. 3 的幂 题的题解,很简单的一个题,写博客主要是想记载看到的一个有意思的解法!

GitHub上相关内容可 点击此处 进行查看!

1、题目描述

2、解题思路 2.1 方法1 ~ 暴力解法 2.1.1 思路

此思路即对目标数连续除3,直至最后判断是否为1,为1则为3的幂数!

2.1.2 程序代码
class Solution {
public:
    bool isPowerOfThree(int n) {
        while(n && n%3==0)
            n/=3;
        return n==1;
    }
};

2.2 方法2 ~ 判断约数 2.2.1 思路

这个方法就是想记录的一种较为取巧的做法。

即在有符号整数的范围内,最大的 3 的幂为 3^19 = 1162261467。然后只需要判断 目标数 是否是 上述数 的约数即可。
只不过需要判断 n 是负数或 0 的情况。

2.1.2 程序代码
class Solution {
public:
    bool isPowerOfThree(int n) {
        return n > 0 && 1162261467 % n == 0;
    }
};

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/925718.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号