Mersenne Number in Java2025 年 5 月 7 日 | 阅读 3 分钟 在本节中,我们将讨论什么是梅森数,并创建Java 程序来检查给定的数字是否是梅森数。梅森数程序经常出现在Java 编码面试和学术中。 梅森数在数学中,梅森数是指形式为M(n)=2n-1 的数。其中 n 是一个整数。它是 OEIS 序列A000225。如果 n 是素数,则相应的梅森数可能是素数,该数称为梅森素数。它是 OEIS 序列A000043。它以法国数学家Marin Mersenne 的名字命名。 请注意,大多数梅森数都是素数。梅森数的代数性质在确定素数方面很有用。数学家Leonhard Euler 证明了任何偶数完全数都必须是 2n-1 的形式。 梅森数示例如果 n = 3,23-1 = 7 (梅森数) 如果 n = 8,28-1 = 255 (梅森数) 如果 n = 13,213-1 = 8191 (梅森数) 同样,我们也可以检查以下数字。 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, 2147483647, 4294967295 等。 梅森素数素数 n 使得 2n-1 是素数 (OEIS 序列 A000043) 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, 2203, 2281, 3217, 4253, 4423, 9689, 9941, 11213, 19937, 21701, 23209, 44497, 86243, 110503, 132049, 216091, 756839, 859433, 1257787, 1398269, 2976221, 3021377, 6972593, 13466917, 20996011, 24036583, 25964951, 30402457, 32582657, 37156667, 42643801, 43112609 如果 2n-1 中的 n 是素数 (OEIS 序列 A000668) 3, 7, 31, 127, 8191, 131071, 524287, 2147483647, 2305843009213693951, 618970019642690137449562111, 162259276829213363391578010288127, 170141183460469231731687303715884105727 还有一些其他的梅森素数已经被计算出来。 2521-1 24423-1 219937-1 2261091-1 2261091-1 21398269-1 最大的梅森素数 (257885161-1) 由数学家Cooper 于2013 年发现,它是一个有 17425170 位数字的数。 查找梅森数的步骤
减法后得到的数字是一个梅森数。 让我们在 Java 程序中实现上述步骤。 梅森数 Java 程序MersenneNumberExample.java 输出 1 Enter a number: 127 127 is a Mersenne number. 输出 2 Enter a number: 88 88 is a not Mersenne number. 让我们创建一个 Java 程序来计算高达 34 的梅森素数。 MersennePrimeExample.java 输出 1 n 2^n-1 2 3 3 7 5 31 7 127 13 8191 17 131071 19 524287 31 2147483647 |
在 Java 中,阿姆斯特朗数、素数和回文数等数字程序经常被面试官问到。与其他数字程序不同,经济型数字并不经常被面试官问到。经济型数字是指其素数分解中的数字数量...
阅读 3 分钟
这是一个原始数据类型。它用于声明变量。它还可以与方法一起用于返回整数类型的值。它可以容纳一个 32 位有符号二进制补码整数。要点:int 包含最小值 -231 和最大值...
阅读 2 分钟
问题陈述 给定一个数学序列,其项如下:2, 12, 36, 80, 150, … 目标是通过推导其数学公式、以编程方式实现并验证其正确性来确定该序列的第 n 项。概述 分析序列...
阅读 4 分钟
在面向对象编程中,抽象被定义为隐藏用户不需要的细节(实现),而专注于基本信息(功能)。它提高了效率并降低了复杂性。在 Java 中,可以通过抽象类和抽象方法来实现抽象。抽象方法 在 Java 中,抽象方法是...
5 分钟阅读
通过 Java 的 `OffsetDateTime` 类的 `getDayOfMonth()` 方法可以获取月份中的日期属性。语法:`public int getDayOfMonth()` 参数:此方法不接受任何参数。返回值:它返回给定月份的日期,范围可以是从 1 到 31。示例 1:一个 `OffsetDateTime`...
阅读 3 分钟
给定一个整数数组 (arr) 和一个整数目标,我们需要找到通过对 arr 的非空子数组执行按位 AND 运算可以得到的、最接近目标的数字。任务是返回两个...
阅读 8 分钟
在面向对象编程领域,单一职责原则(SRP)是一个基本概念,它在创建干净、可维护和可扩展的代码方面起着至关重要的作用。SRP 是 SOLID 原则之一,SOLID 原则是一套旨在改进软件设计和架构的设计原则……
阅读 6 分钟
文件扩展名是附加到计算机文件的后缀。它可以很容易地识别,因为它直接出现在文件名中,句号 (.) 之后。例如,考虑一个文件名 Demo.java,这里文件名是 Demo,.java 是文件扩展名...
阅读 3 分钟
在本节中,我们将学习什么是间谍数字,并创建 Java 程序来检查给定的数字是否为间谍数字。间谍数字程序经常在 Java 编码测试中出现。间谍数字一个正整数如果满足...则称为间谍数字
阅读 3 分钟
在本节中,我们将了解什么是中间数字,并创建 Java 程序来查找中间数字。它经常出现在 Java 编码测试和学术界。中间数字是数字的中间数字,它正好位于数字的中间...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India