当前位置: 首页 > news >正文

Power of Four二进制特性--力扣101算法题解笔记

10.3Power of Four二进制特性

题目描述

给定一个整数,判断它是否是4的次方。

输入输出样例

Input :16

Output:true

题解

像这种找是不是x的倍数的题,最好的解法就是先找到在int的范围下,x的最大次方是多少,找到之后,把n和这个数按位与,如果结果不是0,那么就说明这个数是4的次方。

当然,还有两个前置条件,第一就是x必须要大于0,第二就是简单判断是否为2的次方,如果不是 2 的次方的数 = 二进制有好几个 1,导致无法准确判断是否为4的次方。第三步就是判断跟最高次方的与了。

#include <iostream> using namespace std; bool isPowerOfFour(int n) { bool a = n > 0; //n是否>0 bool b = !(n & (n - 1)); //b为true则证明n是2的次方 bool c = n & 1431655765; //判断那个唯一的 1,是不是在偶数位 return a && b && c; } int main() { int n = 16; if (isPowerOfFour(n)) { cout << "true" << endl; } else { cout << "false" << endl; } return 0; }
http://www.cnnetsun.cn/news/1327582.html

相关文章:

  • 别再瞎找了!10个降AIGC平台全行业通用测评与推荐
  • 登录微信可以但无法访问浏览器
  • 专业的负氧离子座舱公司
  • 商标注册通关指南:从命名到审核的实战策略
  • 基于阶梯式碳机制与电制氢的综合能源系统热电优化调度策略:降低成本、减少排放与提升氢能效益
  • nginx安全防护与HTTPS部署实战
  • CISP是什么证书?CISP报考指南(非常详细)零基础入门到精通,收藏这篇就够了
  • 【Iced】core库Vector 结构体源码解析(vector.rs)
  • 如何安装安卓Android Studio
  • 高斯分布意义及其表达式、方差和协方差
  • 探索考虑泊位优化与多能协同的港口综合能源系统运行优化
  • 剪映专业版教程:制作连续翻页相册效果
  • 1959. 【普及组模拟1】愤怒的牛(aggr.pas/c/cpp)
  • 全面盘点!2026年高口碑国产信创动环监控系统推荐榜单,助力打造智能化工厂安全管理新模式
  • 企业用智能体要投入多少成本?2026避坑指南与主流产品横评
  • 论语第十二篇-颜渊
  • AI获客必须知道这3家专业公司,千万别选错!
  • 千万注意!这家诚信轨道灯厂家,竟让客户排队抢购!
  • NJR-10线材扭转卷绕试验机
  • 十年网安老兵血泪教训:这行“一般人”慎入,三大扎心现实与一条窄路
  • redis缓存穿透、击穿、雪崩的区别
  • Spring面试必问核心知识点精讲
  • C++入门:从基础语法到核心实战
  • Spring AI重塑Java生态,企业级AI开发新纪元
  • KVM Web管理界面安装指南(Cockpit 方案)
  • RDP内核驱动:TdInputThread与IcaChannelInput解析
  • 2025大陆护照+港卡注册Stripe全攻略
  • 书匠策AI vs 传统问卷设计:一场科研效率与创意的革命性碰撞
  • Win11 → WSL2 → Ubuntu → OpenClaw大龙虾安装
  • 并行排序算法:加速大数据处理新利器