Java 中检查数字是否为 4 的幂2024年9月10日 | 阅读 9 分钟 检查数字是否为 4 的幂有多种方法。在本节中,我们将讨论检查数字是否为 4 的幂的不同方法。 示例 输入: num = 7 输出: 7 不是 4 的幂 输入: num = 12 输出: 12 不是 4 的幂。 输入: num = 16 输出: 16 是 4 的幂。42 = 16 方法:使用以 4 为底的对数和 ceil 和 floor在此方法中,我们计算输入数字的 log4 值。如果 log4(y) 的值(其中 y 是输入数字)是一个整数,那么 y 是 4 的幂;否则不是。 文件名: NumPowFour.java 输出 17 is not the power four. 256 is the power of four. 8 is not the power four. 16 is the power of four. 方法:不使用 ceil 和 floor 的以 4 为底的对数在此方法中,我们计算输入数字(假设为 y)的 log4 值。假设该值为 t。我们取该值的整数部分,并将其用作数字 4 的指数,即 4(int) t。如果该值等于 y,那么 y 是 4 的幂;否则不是。 文件名: NumPowFour1.java 输出 17 is not the power four. 256 is the power of four. 8 is not the power four. 16 is the power of four. 方法:除以 4步骤 1: 获取输入数字,并检查该数字是否能被 4 整除。如果不能整除,则输入数字不是 4 的幂。 步骤 2: 如果能整除,则将数字除以 4。如果除法后得到的数字是 1,则输入数字是 4 的幂。如果得到的数字不是 1,则重复步骤 1 和 2。 让我们看看它的实现。 文件名: NumPowFour2.java 输出 17 is not the power four. 256 is the power of four. 8 is not the power four. 16 is the power of four. 方法:设置位任何 2 的幂的数字的共同点是它们在二进制表示中只有一个置位位。观察下表。
只有一个置位位的数字是 1、2、4、8。请注意,所有这些数字都是 2 的幂。20 = 1, 21 = 2, 22 = 4, and 23 = 8。 由于 4 的幂的数字必须是 2 的幂。因此,我们只查找 2 的幂的数字,然后过滤出 4 的幂的数字。 4 的幂的数字具有以下特征
以下程序将使用上述特征来查找 4 的幂的数字。 文件名: NumPowFour3.java 输出 17 is not the power four. 256 is the power of four. 8 is not the power four. 16 is the power of four. 可以通过与 0xAAAAAAAA 进行 & 运算来代替计算置位位之后的零的数量。与 0xAAAAAAAA 进行 & 运算很重要,因为它会移除置位位之后零的数量为奇数的数字(2、8、32 等)。观察以下程序。 文件名: NumPowFour4.java 输出 17 is not the power four. 256 is the power of four. 8 is not the power four. 16 is the power of four. 方法:完全平方数由于 4 是一个完全平方数,任何 4 的幂的数字都必须是完全平方数。因此,以下两个条件足以检查一个数字是否是 4 的幂:
文件名:java 输出 17 is not the power four. 256 is the power of four. 8 is not the power four. 16 is the power of four. |
反斜杠 (\) 引导的字符称为转义序列。它对编译器有特殊含义。当在打印语句中遇到转义序列时,编译器会相应地对其进行解释。这些用于指示对序列的替代解释……
阅读 3 分钟
移位运算符是一种用于数据位操作的特殊类型运算符。它将第一个操作数的位向左或向右移动。Java 中有以下三种移位运算符:右移运算符 (>>) 左移运算符 (<<) 无符号...
5 分钟阅读
Java 中面向对象编程的基本单位是类。它们使我们能够指定对象的组成和操作。类的静态实例是 Java 中的一个关键概念。类的单个实例,该实例由该类的所有对象共享...
5 分钟阅读
在本节中,我们将了解什么是四面体数,并创建 Java 程序来查找四面体数。四面体数程序经常在 Java 编码面试和学术界中出现。四面体数 如果一个数可以表示为...,则该数被称为四面体数。
阅读 3 分钟
与 ClassNotFoundException 一样,NoClassDefFoundError 也会在运行时发生。当类在运行时程序中不可用时,我们会遇到此错误。它是一个未检查的异常,当请求的类在运行时不存在时,程序会抛出该异常。在这种情况下,该类是...
阅读 3 分钟
在编程世界中,可重用性和灵活性至关重要。Java 作为一种流行且强大的编程语言,提供了一种称为泛型(Generics)的特性来实现这一点。泛型提供了一种创建能够与各种类型一起工作,同时保持类型安全性的类、接口和方法的方式……
阅读 4 分钟
协变性和逆变性的概念在复杂的 Java 编程世界中浮现,成为构建持久、灵活和可调整软件的关键构建块。这些概念根植于多态领域,对于确定类型和技术...
5 分钟阅读
在面向对象编程中,类是基本的构建块。它可以定义为描述类实例化相关的数据和行为的模板。实例化一个类就是创建该类的对象(变量),该对象可用于访问...
5 分钟阅读
这是谷歌、微软、TCS、Accenture 等著名 IT 公司通常在招聘面试中提出的问题。通过找出解决方案,可以评估面试者的逻辑推理、批判性思维和解决问题的能力。在本节中,我们将创建一个...
5 分钟阅读
螺旋矩阵就像一个带有数字的网格,以扭曲的模式排列,通常从左上角开始,然后绕圈移动到中心。要在此网格中找到特定的数字,您必须沿着扭曲的路径一直走到...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India