日拱一卒(13)——leetcode学习记录:3的幂

一、题目

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

二、思路

  1. 循环法。n如果能被3整除,则继续整除,否则返回False。

  2. 数学法。不同于2的幂次,无法使用按位与进行判断。使用log计算也存在精度问题,无法实现。这里可以使用3^19的因数进行判断。

三、题解

  1. 循环法

    class Solution:
    def isPowerOfThree(self, n: int) -> bool:
    while n > 2:
    if n%3 != 0:
    return False
    n //= 3
    return n == 1

  2. 数学法

class Solution:

def isPowerOfThree(self, n: int) -> bool:

return n > 0 and (3**19)%n == 0

相关推荐
fīɡЙtīиɡ ℡几秒前
AI 应用评测体系
人工智能·学习
cypking1 小时前
Objective-C 语法完整学习手册(小白自学 + 开发备查)
c语言·开发语言·学习·objective-c
Terra.K8 小时前
Java异常学习[特殊字符]
java·开发语言·学习
zjnlswd15 小时前
C#学习笔记4
笔记·学习·c#
minglie115 小时前
在linux环境烧录esp8266
学习
xqqxqxxq16 小时前
AI Agent学习:MCP与工具生态:工具选择的挑战(李博杰《深入理解 AI Agent》4.3观后总结)
人工智能·学习
青山是哪个青山16 小时前
LangChain 学习笔记(九):上下文与记忆
笔记·学习·langchain
KaKa_大王17 小时前
关于秒杀项目的一些理解
java·学习
Z59981784117 小时前
c#软件开发学习笔记--Modbus-TCP/UDP网口通讯
笔记·学习·c#
zyf10441618 小时前
暑期实践日志 Day29:根据修改要求,进行视频字幕添加
学习·计算机网络·剪辑·暑期实践·课题任务