博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode题目:Power of Three
阅读量:7220 次
发布时间:2019-06-29

本文共 551 字,大约阅读时间需要 1 分钟。

题目:Given an integer, write a function to determine if it is a power of three.

Follow up:

Could you do it without using any loop / recursion?

题目解答:本题是不适用循环或递归的方式判断当前这个数字是否是3的幂。可以从以下的数列中观察出规律:

(1)3^0 = 1

(2)3^1 = 3

(3)3^2 = 9

(4)3^3 = 27

(5)3^4 = 81

……

可以发现所有3的幂指数,互相之间都是可以整除的关系。即3^n 一定可以被 3^m 整除,若有m <= n。

那么,我们可以找到int范围内可以存储的最大的3的幂1162261467 = 3^19。如果num可以整除它,那么num就是3^x。

代码如下:

class Solution {

public:
    bool isPowerOfThree(int n) {
        return ((n > 0) && (1162261467 % n == 0)) ? true : false;
    }
};

转载于:https://www.cnblogs.com/CodingGirl121/p/5417593.html

你可能感兴趣的文章
Squid 日志分析 和反向代理
查看>>
Hadoop的安装及一些基本概念解释
查看>>
大容量分区命令parted
查看>>
从输入 URL 到页面加载完成的过程中都发生了什么事情?
查看>>
实例讲解JQuery中this和$(this)区别
查看>>
centos 7 静态ip地址模板
查看>>
影响系统性能的20个瓶颈
查看>>
shell的详细介绍和编程(上)
查看>>
软件开发性能优化经验总结
查看>>
面试题编程题05-python 有一个无序数组,如何获取第K 大的数,说下思路,实现后的时间复杂度?...
查看>>
kendo grid序号显示
查看>>
Spring 教程(二) 体系结构
查看>>
Indexes
查看>>
2.Web中使用iReport 整合----------创建html格式的
查看>>
异常备忘:java.lang.UnsupportedClassVersionError: Bad version number in .class file
查看>>
最全三大框架整合(使用映射)——applicationContext.xml里面的配置
查看>>
初步理解Java的三大特性——封装、继承和多态
查看>>
知识点积累(一)
查看>>
iphone-common-codes-ccteam源代码 CCFile.m
查看>>
python:浅析python 中__name__ = '__main__' 的作用
查看>>