Java 中的 Brilliant 数2025年3月17日 | 阅读 7 分钟 在本节中,我们将学习什么是完美数,并创建 Java 程序 来检查给定的数字是否为完美数。完美数程序经常在 Java 编码面试和学术界被问到。 完美数如果两个素数(例如 p 和 q)的乘积,并且素数 p 中的数字总数等于素数 q 中的数字总数,则该数字称为完美数。 由于完美数是两个素数的乘积,因此每个完美数也是一个半素数。但是,反之则不成立。数学上,如果 N 满足以下条件,则称 N 为完美数: N = p * q 且 p 中的数字数量 = q 中的数字数量。 让我们通过示例来理解。 示例 1 输入 15 输出:15 是一个完美数。 解释:15 是两个素数 3 和 5 的乘积。此外,数字 3 的位数(1 位)等于数字 5 的位数。因此,15 是一个完美数。 示例 2 输入 50 输出:50 不是完美数。 解释:50 是数字 5 和 10 的乘积。但是,10 不是素数。因此,50 不是完美数。 示例 3 输入 22 输出:22 不是完美数。 解释:22 是两个素数 2 和 11 的乘积。此外,数字 2 的位数(1 位)不等于数字 11 的位数(2 位)。因此,22 不是完美数。 完美数验证要检查 n 是否为完美数,我们需要检查该数字是否为半素数。
观察以下算法。 步骤 1:取数字 n。 步骤 2:计算数字 n 的总因子数。 步骤 3:检查步骤 2 中计算的总因子数是否等于 3 或 4(检查数字是否为半素数的条件)。
让我们在 Java 程序中实现上述算法。 完美数 Java 程序观察上述算法的实现。 文件名:BrilliantNum.java 输出 The number 15 is a brilliant number. The number 50 is not a brilliant number. The number 22 is not a brilliant number. 查找范围内的完美数在此方法中,我们将使用筛法来查找给定范围内的完美数。取两个具有相同位数的素数,然后计算它们的乘积。乘积将是一个完美数。 假设我们要查找范围 1 到 200 内的完美数。请观察以下算法。 步骤 1:计算筛法,找出 1 到 20 之间的素数。 步骤 2:过滤出素数并将它们存储在一个数组或 ArrayList 中,在本例中是 al。 步骤 3:启动一个循环 i = 0 到 s - 1,其中 s 是数组的总大小 步骤 4:在步骤 3 开始的循环内,启动另一个循环 j = I + 1 到 size。 步骤 5:确保由 i 指向的数字的位数等于由 j 指向的数字的位数。 步骤 6:找到由循环变量 I 和 j 指向的数字的乘积。如果乘积大于 200,则丢弃它;否则,保留它。 让我们在 Java 程序中实现上述算法。 文件名:BrilliantNum1.java 输出 The brilliant numbers that lie within the range 1 to 200 are: 4 6 9 10 14 15 21 25 35 49 121 143 169 187 下一主题Java 中按频率排序元素 |
Java 中的布尔求值是编程逻辑的基础,它使开发人员能够基于求值为 true 或 false 的条件做出决策和控制程序流。这个基本概念围绕使用布尔值、逻辑运算符和条件语句来创建健壮且……
阅读 4 分钟
? 在 Java 编程世界中,构造函数是用于初始化对象的特殊方法。当使用 new 关键字创建对象时,会调用它们,并且它们负责设置对象的初始状态。构造函数通常是公共的,并且与...
阅读 3 分钟
java.text 中的内置方法之一是 getMultiplier()。为了获取用于百分比、百分点等的许多格式的乘数,使用了 Java 类 DecimalFomrat。语法:public int getMultiplier() 参数:此方法不接受任何参数。返回值:可以使用的乘数值...
阅读 2 分钟
Facing the Sun 问题涉及确定一行中能看到太阳的建筑数量,假设阳光来自特定方向(通常是左侧)。每座建筑的高度都会影响可见性,这使得它成为一个通常需要遍历和比较技术来解决的问题...
7 分钟阅读
在开发软件应用程序时,尤其是命令行程序时,通常使用菜单驱动的方法,为用户提供与应用程序交互的清晰有组织的途径。Java 作为一种用途广泛且广泛使用的编程语言,为实现菜单驱动程序提供了完美的平台。在...
7 分钟阅读
java.time.chrono.MinguoDate 类具有 equals() 方法。要将此 Minguo 日期与另一个 Minguo 日期进行比较,请使用 MinguoDate 类。语法:public boolean equals(Object obj) 参数:要将此 Minguo 日期与等效对象进行比较,此方法需要一个等效对象作为输入。返回值:如果两个...
阅读 2 分钟
在 Java 中,Scanner 类用于从用户获取字符输入。Scanner 类并不是获取用户字符输入的唯一解决方案。BufferedReader 类是 Scanner 类的替代方案,用于从用户获取字符输入。让我们...
阅读 3 分钟
?在 Java 中,我们可以使用 Calendar 或 LocalDate 类将日期添加 4 年。在本节中,我们将讨论这两种方法,并展示如何在 Java 代码中实现它们。使用 Calendar 类 Calendar 类是一个遗留类,它在 Java 中引入...
阅读 3 分钟
? 在面向对象编程中,不可变字符串或对象一旦创建就无法修改。但我们只能改变对象的引用。我们限制更改对象本身。Java 中的 String 是不可变的,因为安全、同步和并发... ...
阅读 4 分钟
数字图像分析和计算机视觉都严重依赖于图像处理。为了获得预期的结果,这需要图像修改。对比度增强是图像处理的基本方法,它可以突出图像中的对象,使其更加...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India