Java 中的 Bernoulli 数

17 Mar 2025 | 5 分钟阅读

伯努利数是一类在数论和分析中扮演重要角色的特殊数字。这些数字主要用于展开多个三角函数、伽马函数、双曲函数等的级数。

第 n 个伯努利数用Bn 表示,可以通过以下指数生成函数定义:

Bernoulli number in Java

伯努利数出现在三角函数级数的展开中。我们有两种不同的伯努利数定义。

根据现代用法或美国国家标准与技术研究院 (NIST) 的惯例,伯努利数写作。它也被称为“偶数下标”伯努利数。根据旧文献中的定义,伯努利数写作。

在这两种情况下,每个伯努利数都是伯努利多项式的一个特例:

Bn (x) 或 Bn* (x),其中 Bn=Bn (0) 且 Bn* = Bn* (0)

我们还分别用 Bn 和 Bn (x) 表示贝尔数和贝尔多项式。因此,我们不应将它们混淆。

我们可以使用以下轮廓积分定义伯努利数 Bn

Bernoulli number in Java

算法

计算“第二类伯努利数”的算法如下:

下面我们来实现 Java 代码来获取 N 个伯努利数。在编写获取伯努利数的逻辑之前,我们先创建一个 BigRational.java 类,它执行 BigInteger 和 BigDecimal 所需的操作,并返回结果。

BigRational.java

BernoulliNumber.java

输出

Bernoulli number in Java
下一个主题Java 中的蛋糕数