判断 2 的幂次方、3 的幂次方、4 的幂次方
1. 2 的幂次方
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。
如果存在一个整数 x 使得 n == 2^x ,则认为 n 是 2 的幂次方。
2 的 N 次方的二进制必然为 10,100,1000,1000…0 类似的,所以只需要将该整数的二进制表示法与它减 1 的二进制表示法进行与操作,结果为 0 的必然为 2 的 N 次方。
class Solution {public:bool isPowerOfTwo(int n) {return n>0 && (n&(n-1))==0; }
};
2. 3 的幂次方——循环法
给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3^x
一个数是 3 的 N 次方,那么该数字一定可以被 3 整除,被 3 整除后不断循环除以 3,直到该数字等于 1 时,返回 true,如果不为 1 则返回 false。
class Solution {public:bool isPowerOfThree(int n) {if (n == 0){return false;}while (n%3==0){n /= 3;}return n==1 ? true:false;}
};
3. 4 的幂次方——递归法
给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4^x
class Solution {public:bool isPowerOfFour(int n) {if (n == 0){return false;}else if (n == 1){return true;}else{return (n%4)==0 ? isPowerOfFour(n/4):false;}}
};
判断 2 的幂次方、3 的幂次方、4 的幂次方相关推荐
- C语言循环求出2的10次幂,C语言求2的100次幂的结果.doc
C语言求2的100次幂的结果 求2的100次幂的结果 #include #include #include #include void main void int a,b,i; char s[40], ...
- mysql 幂运算_算法—史上最好快速幂算法讲解
前言 快速幂是什么?顾名思义,快速幂就是快速算底数的n次幂. 有多快?其时间复杂度为 O(log₂n), 与朴素的O(n)相比效率有了极大的提高. 用的多么?快速幂属于数论的范畴,本是ACM经典算法, ...
- 2的5次方用计算机怎么算,2的5次方(2的5次方怎么算)
2的5次方=2x2x2x2x2=4x4x2=16x2=32 32. 你可以适当的记一些常见的次方数据.就如2的1--10次方,分别为 2,4,8,16,32,64,128,256,512,1024. ...
- 如何用计算机算10的-5次方,在excel中如何计算10的几次方呢
excel的运算功能我们都知道非常强大,但是在excel中如何计算10的几次方呢?今天小编就通过一个简单的例子来给大家介绍下在excel中10的几次方的输入和运算方法. 第一.excel 10的几次方 ...
- 判断一个数是否是 2、3、4的幂次方
2的几次幂 判断一个数是否是 2的幂次方: 思路:在二进制中 2^n形式如下 2^1=2:10 1:01 2^2=4:100 ...
- C/C++:计算N的N次方的个位数(巧用快速幂与模运算性质)
题目描述(源自杭电OJ): 相关数学知识一:取模运算的性质 a乘b的结果对p取模等于a对p取模的结果乘b对p取模的结果再整体取模于p,详见下图 证明过程如下: 相关数学知识二:快速幂运算 以求a的b ...
- C语言判断一个数是否是质数(蒙格马利快速幂算法)
前言: 今天搞了一天这个 蒙格马利 什么的,我自己肯定是搞不定,参照了很多资料,写一下自己的理解总结,防止忘了没地方看. 只是我个人的理解,对不对还得另说,一些公式还是不懂,只是大概的理解了下,各位当 ...
- 判断素数问题(费马小定理,蒙哥马利模幂)
题目描述 给定多个大于 1 的整数,判断是否为素数 输入 输入多行,每行是一个大于 1 的整数或字母 q 输出 对于每一行输入: 如果该行是正整数,那么输出一行,输出内容为 T 或 F,代表这个正整数 ...
- c语言整数幂怎么编译,c语言次方(c程序怎么编写x的y次方)
for (i = 0; i < n; i++) { result *= num; // num 为底数,n 为幂, result 为结果 } 循环表示:S=a^10可表示为:for(int i= ...
- 怎么用计算机计算e的n次方,Excel 计算e的n次幂:EXP函数
EXP函数的功能是计算e的n次幂.EXP函数的语法如下: EXP(number) 其中,number参数为应用于底数e的指数.常数e等于2.71828182845904,是自然对数的底数.下面通过实例 ...
最新文章
- oracle视图能用etl工具_(转)使用kettle作为sqlserver2008和oracle10G之间的ETL工具
- 一句话生成数字人形象、昆仑芯2量产…百度大脑升级7.0,王海峰:技术更强了门槛却更低...
- ip动态分配痕迹会保留多久_16,虚拟机的服务IP老变,怎么办?
- 美女学霸直博中科院,本科武大王者全国16强,妥妥现实版“爽文女主”!
- 08Mysql与python交互
- gif透明背景动画_做动画片用什么软件?99%的人用它就做出来了 - 动画制作博客...
- datatables 添加时间按钮_Java 添加页面跳转按钮到PDF文档
- Linux中变量#,@,0,1,2,*,$$,$?的意思
- 安装erlang没有bin文件夹_RabbitMQ安装教程
- Hadoop安装部署
- 四个简单的步骤告别烦人的flash广告
- CRMEB开源商城部署在腾讯云
- OpenLayers多源数据加载一:数据组织
- Java中Map详解
- 手机摄影技巧总结——永远拍出美美的照片
- 商城系统开发,使用微信服务号好?还是小程序?
- Servlet - Java Web Core Component
- 常见的几种协同设计平台对比分析
- 抖音直播带货复盘数据怎么分析?3个小技巧快速掌握直播复盘
- 缓存就是万金油,哪里有问题哪里抹一下 。那他的本质是什么呢?