326. Power of Three(3 的幂)

2024-01-31 08:12
文章标签 three power 326

本文主要是介绍326. Power of Three(3 的幂),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false。
整数 n 是 3 的幂次方需满足:存在整数 x 使得 n = 3 x n = 3^x n=3x

问题分析

要证明一个整数是三的幂次方,显然我们可以将其余的不是三的幂次方的数写作下式 n = m ∗ 3 x + y n = m*3^x+y n=m3x+y
其中y是小于 3 x 3^x 3x的,所以对于此n连续除去x个3会得到m,如果m是1的话,y是0的话就能够保证n是3的幂次方。
所以如果能保证,n除去3得到的商仍是3的倍数,就能保证y=0,如果最后求出的商为1说明此数为3的幂次方。

代码

bool isPowerOfThree(int n) {if(n<=0){return 0;}while(n%3==0){n/=3;}return n==1;
}

提交结果截图

在这里插入图片描述

这篇关于326. Power of Three(3 的幂)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/663109

相关文章

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

Keysight U8031A DC power supply

Keysight U8031A DC power supply 文章目录 Keysight U8031A DC power supply前言电容充电⽰意图一、恒定电压操作二、恒定电流操作三、5v操作四、跟踪模式操作五、存储器操作六、对过电压保护编程七、对过电流保护编程八、锁键操作 前言 U8031A Power Supply 是一款具备前面板编程能力的三路输出电源。通过使

Three 渲染器(二)

WebGL1Renderer 构造函数 WebGL1Renderer( parameters : Object ) Creates a new WebGL1Renderer. 属性 See the base WebGLRenderer class for common properties. 方法 See the base WebGLRenderer class for common

leetcode#628. Maximum Product of Three Numbers

题目 Given an integer array, find three numbers whose product is maximum and output the maximum product. Example 1: Input: [1,2,3]Output: 6 Example 2: Input: [1,2,3,4]Output: 24 Note: The lengt

PrimeTime low power-SMVA分析(4)

1.6使用示例 以下使用示例展示了SMVA流程: - 所有电压条件下的SMVA分析 - 特定DVFS约束下的SMVA分析 在以下脚本示例中,红色突出显示的文本显示了在SMVA流程中使用的命令、命令选项和变量。这些功能只有在将timing_enable_cross_voltage_domain_analysis变量设置为true时才能使用。 1.6.1所有电压条件下的SMVA分析 要对多

three.js 实现围墙效果

import * as THREE from “three”; import { OrbitControls } from “three/addons/controls/OrbitControls.js”; const { innerWidth, innerHeight } = window; const aspect = innerWidth / innerHeight; class Bas

PrimeTime low power-SMVA分析(2)

1.4 DVFS 场景 对于使用动态电压和频率缩放(DVFS)的设计,可以使用 DVFS 场景来同时分析设计在所有 DVFS 条件下的性能。有关详细信息,请参见以下主题: - DVFS 场景概念 - 查询 DVFS 场景 - 将 DVFS 场景应用于命令和属性 - 与 DVFS 相关的对象属性 注意: DVFS 场景是在 SMVA 分析中使用的电压/频率场景。它们与分布式多场

three.js使用3DTilesRendererJS加载3d tiles数据

原生的 three.js 目前不支持 3d tiles 数据的加载,不过开源社区已经给出了一些解决方案,其中最活跃的要属 3DTilesRendererJS。它为 three.js 提供了加载和调度 3d tiles 数据的基本能力,虽说和 Cesium.js 对 3d tiles 的支持相比还有很大的差距,但也比没有的好。毕竟 3d tiles 数据的加载和调度还是比较复杂的,要自己写也没那么容

【Power Compiler手册】9.时钟门控(4修改时钟门控结构)

修改时钟门控结构 在执行 RTL 时钟门控时,可以指定 `set_clock_gating_style -max_fanout` 命令来限制由单个时钟门控元素门控的寄存器数量。结果可能是具有相同使能信号的多个时钟门控元素,并且在逻辑上,具有相同的门控时钟信号。所有具有相同使能信号的时钟门控单元属于同一个时钟门控组。由单个时钟门控元素门控的所有寄存器属于同一个时钟门控子组。 由 `compi

幂等运算power

分治思想   public static double power(double base, int exponent) {if ((equalToZero(base)) && (exponent <= 0)) {throw new IllegalArgumentException();}int positiveExponent = (exponent > 0 ? exponent : -ex