c++判断一个数是否是2或3的n次方

ops/2024/10/19 5:28:51/

判断一个数是否是2的n次方:

bool fun(int n){return n>0&&(n&(-n))=n;
}

判断一个数是否是3的n次方:

//方法1 如果这个数能被3整除,且最后是1,则一定是3的n次方
bool fun(int n){while(n&&n%3==0){n/=3;}return n==1;
}
//方法2 最大的3的幂是3^19=1162261467(int类型最大范围内幂是19)
//3的n次幂一定是这个数的约数
//如果是long long类型最大范围到3^39= 4052555153018976267
bool fun(int n){return n>0&&1162261467%n==0; }

 


http://www.ppmy.cn/ops/24388.html

相关文章

5G工业数采网关的功能有哪些?-天拓四方

随着5G技术的不断发展,其在工业领域的应用日益广泛。5G工业数采网关作为连接工业设备与网络的重要枢纽,具备多种功能,为工业自动化、智能制造和智慧工厂提供了强大的支持。本文将详细解析5G工业数采网关的功能,并探讨其在工业领域…

UNIXRTC

这段代码是将写入的数据显示在OLED屏幕上,并进行读取。起初上电的时候可以发现W:后面为空,R:为0000 0000这是因为还没开始写入。按下按键后发现变换的数据是1235 5679,与我们写入的1234 5678不同,这是因为写入之前执行…

django序列化

path(get2/, views.HelloApiView().get), path(get2/, views.HelloApiView.as_view()) models class Student(models.Model):name models.CharField(max_length100,verbose_name姓名)age models.IntegerField(verbose_name年龄)sex models.BooleanField(default1,verbose_n…

【Jenkins】持续集成与交付 (九):Maven安装和配置、以及构建项目

🟣【Jenkins】持续集成与交付 (九):Maven安装和配置、以及构建项目 一、Maven简介二、持续集成环境安装Maven2.1 Maven软件包上传2.2 配置环境变量2.3 Jenkins配置关联JDK和Maven2.4 添加Jenkins全局变量2.5 修改Maven的settings.xml2.6 全局工具配置--设置自己的setting.…

Rtthread scons STM32外设 Kconfig文件配置

GPIO配置 config BSP_USING_GPIObool "Enable GPIO"select RT_USING_PINdefault y#UART配置 menuconfig BSP_USING_UARTbool "Enable UART"default yselect RT_USING_SERIALif BSP_USING_UARTconfig BSP_USING_UART1bool "Enable UART1"default…

2分钟自己写小游戏:使用js和css编写石头剪刀布小游戏、扫雷小游戏、五子棋小游戏。新手老手毕业论文都能用。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车,效果很不错。 【复制就能用3】2分钟自己写小游戏:剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

基于PCIE4C的数据传输(三)——使用遗留中断与MSI中断

本文继续基于PCIE4C IP核实现主机(RHEL 8.9)与FPGA(Xilinx UltrascaleHBM VCU128开发板)间DMA数据传输时的中断控制。本文分为三个部分:FPGA设计、驱动程序设计、上板测试。 FPGA设计 基于PCIE4C的数据传输&#xff0…

前端页面单元测试最佳策略:全面涵盖逻辑、组件、流程、UI及性能优化测试,全面保障软件应用的质量

页面级别的测试要求我们从更宏观的角度审视应用,不仅关注单个组件的正确性,还要确保组件间的协作无误,以及用户在应用中的完整体验。通过集成测试、E2E测试和场景测试,我们可以更全面地覆盖应用的各种使用情况,提高软件…