原文:python判断一个数是否是2的几次幂

判断一个数是不是 的几次幂,最简单粗暴的做法就是直接迭代除以 ,这里有一个更好的方法,那就是采用位运算。 我们观察下面属于 的几次幂的数的变化规律,用 进制表示。 我们会发现凡是 的几次幂 除外,用二进制表示第一位全是 ,后面全是 。这个规律好像是这样但是有什么用呢,不要急,你再看一下比他小一个数的规律就懂了。 发现比他小一个数全是第一位为 后面全为 ,刚刚跟 的几次幂对应的数相反,这时就可以用位 ...

2018-12-24 13:49 0 2301 推荐指数:

查看详情

判断一个数是否是2的

前言 概念: 如果一个数是2的,那么它的二进制是这样的: 2 10 4 100 8 1000 16 10000 也就是第一个是1,其他都是0。 然后-1的话: 1 01 4 11 8 111 16 1111 正文 (num&(num-1))==0 就是了。 解释 ...

Mon Mar 16 23:34:00 CST 2020 0 618
判断一个数是否是2的N次

第一种方法 暴力解法 第二种方法 示例分析 以16为例,二进制表示为 16减1为15的二进制表示为 两者按位与 十进制表示为0,说明是2的N次。 扩展-判断一个数是否是n的N次 参考 [算法]快速判断一个数是否是2的次方 ...

Mon Nov 01 17:27:00 CST 2021 0 110
[算法]快速判断一个数是否是2的次方

利用与(&)运算符 可以快速判断一个数是否为2的次方 将2的次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1,并且1后面跟了N个0, 因此问题可以转化为判断1后面是否跟了N个0就可以了。 如果将这个数减去1后会发现,仅有的那个1会变为0,而原来 ...

Thu Apr 09 05:28:00 CST 2020 0 1492
python判断一个数是否是素数

输入一个数据,输出是否为素数 思路:n ->(2,n-1) 能否被整除:看余数 (1) 考虑清楚循环的初始条件 i = 2 flag = true 假设是素数 (2) 循环的结束条件 i <= n-1 (3) 重复需要干什么 判断能否把n整除 如果被整除 ...

Sun May 23 05:07:00 CST 2021 0 2522
快速判断一个数是否是2的次方以及是几次方(二进制)

判断是否是2的次方 将一个2的次方数表示成二进制,发现它是100000...,如果将这个数减一,那个1会变成0,0会变成1 因此这个数与其减一后的进行与运算结果为0. 最快速的方法: (number & number - 1) == 0   1000 ...

Sat Oct 19 04:56:00 CST 2019 0 534
Python判断一个数是否为素数

import math def is_prime(number): # 判断是否为素数 sqrt = int(math.sqrt(number)) for j in range(2, sqrt + 1): # 从2到number的算术平方根迭代 if int ...

Thu Nov 29 08:58:00 CST 2018 0 834
Python判断一个数是否为小数

一、判断一个数是否为小数 1、有且仅有一个小数点 2、小数点的左边可能为正数或负数 3、小数点的右边为正数 二、实现代码 查看结果: ...

Tue Oct 17 06:36:00 CST 2017 0 10370
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM