快捷搜索:  汽车  科技

奇数偶数快速判断方法(判断偶数的方式这么多)

奇数偶数快速判断方法(判断偶数的方式这么多)惊不惊喜,意不意外,简简单单一个奇偶数的判断,都能玩出花儿来,有时候想想,写代码也没那么枯燥,当你想找点乐子时,大佬们总会带点惊喜让你高兴高兴。没错,判断奇偶数也能穷举,你有多少个场景我就穷举多少个。额……实在编不下去了,为什么要用穷举,各位大佬能理解他为什么要用穷举吗?看这截图,0到底算奇数还是偶数呢?很难想到判断个偶数还能用到遍历法吧,究竟是遍历谁,怎么遍历呢?说是遍历法,我觉得叫数数法更好理解吧,啥意思呢?还记得刚学数数的经历吗,比如1,2,3……,判断奇偶数也可以这样数,比如从0开始就是偶,奇,偶,奇……,代码实现如下public boolean isEven(int number) { boolean result = true; for (int i = 0; i < number; i ) result = !result; return re

在编程的过程中,我们经常会遇到判断偶数的地方,比如列表判断偶数位置加个背景等等。以前我一直以为判断偶数就两种方式,直到看了网上的各路大佬,我才发现判断偶数原来还可以这么玩,简直是让我“惊喜连连”呀。下面就来一一介绍,其中前两种也是最容易想到,也是用得最多的方式。

1.二进制法

我们都知道计算机中的数字都是二进制来表示,各位上的数字不是0就是1,比如5的二进制是101,6是110,7是111,8是1000等等,在此就不一一列举了。我们发现列举的这4个数有一个特点,奇数的最后一位是1,偶数的最后一位是0,利用这个特点很容易就能判断了,代码实现如下

public boolean isEven(int number) { return (number & 1) == 0; }2.取余法

上学时我们学过,能被2整除的数就是偶数,不能整除的就是奇数。所以我们可以判断一个数除以2取余,看余数是1还是0,这样也能判断,代码实现如下

public boolean isEven(int number) { return number % 2 == 0; }

这两种方式在我们的日常开发中是用得最多的,也是最容易理解的,下面几种方式一般人还真不一定能想到,在此让大家开开眼界,看看有没有哪种方式能让你感到“惊喜”。

3.遍历法

很难想到判断个偶数还能用到遍历法吧,究竟是遍历谁,怎么遍历呢?说是遍历法,我觉得叫数数法更好理解吧,啥意思呢?还记得刚学数数的经历吗,比如1,2,3……,判断奇偶数也可以这样数,比如从0开始就是偶,奇,偶,奇……,代码实现如下

public boolean isEven(int number) { boolean result = true; for (int i = 0; i < number; i ) result = !result; return result; }

看到这个遍历法,让我想起了一个“经典”的排序算法,睡眠排序法,在此不作解释,懂得人应该都懂,这两个放在一起,堪比卧龙凤雏,睡眠排序法示例如下

奇数偶数快速判断方法(判断偶数的方式这么多)(1)

4.截取法

我们都知道一个数的个位,若是0,2,4,6,8时,则这个就是偶数,否则就是奇数。你要这么说也还行,整除10取余判断一下就可以了,不过这跟截取有啥关系呢,为啥叫截取法呢?我想象一下发明这种方法的大佬内心独白:你要整除?整除了还要取余?怎么取余?搞这么复杂干什么,字符串截取不会吗,直接截取最后一位就行了,哪有那么复杂。示例如下

奇数偶数快速判断方法(判断偶数的方式这么多)(2)

5.穷举法

没错,判断奇偶数也能穷举,你有多少个场景我就穷举多少个。额……实在编不下去了,为什么要用穷举,各位大佬能理解他为什么要用穷举吗?看这截图,0到底算奇数还是偶数呢?

奇数偶数快速判断方法(判断偶数的方式这么多)(3)

惊不惊喜,意不意外,简简单单一个奇偶数的判断,都能玩出花儿来,有时候想想,写代码也没那么枯燥,当你想找点乐子时,大佬们总会带点惊喜让你高兴高兴。

猜您喜欢: