Evil Number Java

2025年5月5日 | 阅读 4 分钟

邪恶数字是 Java 中另一种特殊的正整数,其二进制表示形式中包含偶数个 1。与质数和阿姆斯特朗数不同,邪恶数字并不那么流行,面试官也不常问。

那些不是邪恶数字的数字被称为怪异数字。让我们看一些邪恶数字和怪异数字的例子。

  1. 15 是一个邪恶数字,因为它的二进制表示形式 1111 中包含偶数个 1。
  2. 16 是一个怪异数字,因为它的二进制表示形式 10000 中不包含偶数个 1。
  3. 23 也是一个邪恶数字,因为它在二进制表示形式 10111 中包含偶数个 1。

要检查一个数字是否为邪恶数字,我们需要遵循以下步骤:

  1. 我们首先取一个数字。
  2. 然后我们将这个数字的二进制等价物找到并存储到另一个变量中。
  3. 我们找到二进制数字中 1 的总数。
  4. 如果我们在二进制等价数字中找到偶数个 1,则该数字是邪恶数字。否则,给定的数字不是邪恶数字。

注意:要将十进制数转换为二进制,我们可以使用 toBinaryString() 内置方法,或者通过循环手动完成。

让我们来实现代码来检查该数字是否为邪恶数字。

EvilNumberExample.java

输出

Evil Number Java

让我们实现另一个程序来获取给定范围内的所有邪恶数字。

FindAllEvilNumber.java

输出

Evil Number Java