Square Free Number in Java2025 年 5 月 7 日 | 阅读 4 分钟 在本节中,我们将讨论什么是无平方数,以及创建 Java 程序来检查给定数字是否为无平方数。无平方数程序经常出现在 Java 编码面试和学术中。 无平方数正整数 n 是一个无平方整数,如果它是不同素数的乘积。换句话说,如果 n 不能被任何素数 p(1 除外)的平方 p2 整除,那么 n 就是无平方整数。它也可以定义为不能被大于 1 的平方整除的数称为无平方数。其素因数分解中,每个出现的素数因子都只出现一次。它在 OEIS 序列中为A005117。 ![]() 让我们通过示例来理解。 无平方数示例示例 1:假设我们要检查 72 是否为无平方数。 72 的因子(能整除 72 的数)是:1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, and 72 素因子是:2 和 3 在上述因子中,完全平方因子是 4、9 和 36。因子 8、12、24 和 72 能被 4 整除,18 能被 9 整除。因此,因子 4、9 和 36 不能是无平方数。在上述因子中,只剩下三个因子不是完全平方数,即 2、3 和 6,并且它们中的任何一个都不能被完全平方数整除。因此,72 是一个无平方数。 让我们看看另一种查找相同的方法。这种方法比上面的方法稍微容易一些。 示例 2:假设我们要检查 111 是否为无平方数。 72 的因子是:1, 3, 37, and 111 素因子是 3, 37 没有任何因子能被完全平方数整除,也没有任何素因子出现一次以上。因此,111 是一个无平方数。 示例 3:检查 108 是否为无平方数。 首先,我们找到 108 的素因数分解:2 × 2 × 3 × 3 × 3 = 22 × 33 我们注意到素因子出现了不止一次。因此,108不是无平方数。 类似地,我们也可以检查其他数字。 其他一些无平方数是 1、2、3、5、6、7、10、11、13、14、15、17、19、21、22、23、26、29、30、31、33、34、35、37、38、39、41、42、43、46、47、51、53、55、57、58、59、61、62、65、66、67、69、70、71、73、74、77、78、79、82、83、85、86、87、89、91、93、94、95、97、101、102、103、105、106、107、109、110、111、113。 检查无平方数的步骤
让我们在 Java 程序中实现上述逻辑。 无平方数 Java 程序SquareFreeNumberExample1.java 输出 1 Enter the number: 113 113 is a square free number. 输出 2 Enter the number: 12 12 is not a square free number. 查找第 n 个无平方数SquareFreeNumberExample2.java 输出 1 Enter the number: 10 The 10th square free number is: 14 输出 2 Enter the number: 20 The 20th square free number is: 31 |
数字序列程序是编码挑战、竞争性编程甚至现实世界应用程序的常见且重要的组成部分。它们涉及生成或查找数字序列中的模式,这使得它们成为任何 Java 程序员的宝贵技能。在本节中,我们将探讨数字……
5 分钟阅读
在本节中,我们将讨论数组中的局部最小值是什么以及如何通过 Java 程序找到局部最小值。数组中的局部最小值是什么?如果数组元素小于其相邻元素,则称该元素为数组的局部最小值...
阅读 3 分钟
调和数是一个迷人的数学概念,在物理、工程和计算机科学等各个领域都有应用。在本节中,我们将探讨调和数是什么,它们的意义以及如何在 Java 中计算它们。我们还将提供带有输出的示例 Java 程序……
阅读 4 分钟
? 一个可以通过多种方式完成的典型编程任务是反转字符串。逐个字母反转字符串是最直接的技术之一。在本教程中,我们将介绍 Java 中逐个字母反转字符串。让我们先掌握基础知识...
5 分钟阅读
在 Java 中使用递归反转双向链表需要理解双向链表的结构和递归过程。双向链表的节点由三个部分组成:数据字段、指向节点的指针……
5 分钟阅读
在编程世界中,创造各种模式是培养逻辑思维和解决问题能力的基本练习之一。模式不仅使编码变得有趣,而且还提高了我们对循环和条件在编程中如何工作的理解...
阅读 4 分钟
Java 15 或 JDK 15 是 Java SE Platform 15 的参考实现。它作为 Java17 的重要功能和基础发布。Java15 提供了各种令人兴奋的新功能、孵化器功能和 JDK 的新功能……
阅读 12 分钟
代码覆盖率工具对软件开发至关重要,因为它们可以提供有关测试执行情况的信息。这些工具可以帮助开发人员确定代码的哪些部分已被测试,哪些部分仍需要工作。有许多代码覆盖率...
阅读 3 分钟
java.nio.DoubleBuffer有一个put(double f)方法。DoubleBuffer类用于在当前位置将给定的double写入动态形成的double缓冲区后增加位置。语法:public abstract DoubleBuffer put(double f)参数:需要写入的双精度值f...
阅读 8 分钟
最小页数分配问题是算法设计、竞赛编程和编码面试中最常使用的基本优化问题之一。它围绕着将一堆任务(书籍)分配给许多员工(学生)来完成,以使工作量(页数)得到恰当的分配……
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India