← RoseCode

ROSECODE 449

类 Machin 公式

Machin Like Formulae

Philippe_57721 · 编程 ·

最著名的计算 π 的公式之一是
π4=4.arctan(15)arctan(1239) 归功于 John Machin (1706),他使用它来计算 100 小数位。

我们可以将其重写为:
arctan(1/239)=arctan(1/1)+4.arctan(1/5)

事实证明,许多像 239 这样的整数都有一个逆元,它可以分解为逆元的反正切的线性组合。

举几个例子:
arctan(13)=arctan(1)arctan(12)
arctan(17)=arctan(1)+2.arctan(12)
arctan(18)=arctan(1)arctan(12)arctan(1/5)
arctan(113)=arctan(1)arctan(12)arctan(1/4)
arctan(117)=arctan(1)+2.arctan(12)arctan(1/12)
arctan(118)=arctan(1)2.arctan(12)+arctan(1/5)
arctan(121)=arctan(1/4)arctan(1/5)
arctan(130)=arctan(1)arctan(12)arctan(1/4)arctan(1/23)
arctan(131)=arctan(1/5)arctan(1/6)
arctan(132)=arctan(1)+2.arctan(12)arctan(1/9)

不可约数,即那些不能以这种方式分解的数,称为 Störmer 数。
因此,每个非 Störmer 数的倒数都可以表示为较小不可约整数的倒数的反正切的线性组合。

约翰·马钦的公式之所以特别有效,是因为它包含的项很少,而且涉及的数字也不太小:因此 Arctan 级数的收敛速度相当快。

让我们将公式的成本定义为不带 1 的不同整数的倒数之和。
C(32)=12+19+132=0.642361

像 21 或 31 这样的数字不适合计算 π,因为它们的分解中不包括数字 1,它们的成本将是无穷大。

10 比 20000 效率最高的数字是多少?

答案格式:以逗号分隔的成本升序列表。

示例:41,46,75,17,32,7,68,93,43,57(适用于小于 100 的数字)

C(41)=0.6077235772arctan(141)=arctan(1)2.arctan(12)+2.arctan(112)
C(46)=0.6421095008arctan(146)=arctan(1)+2.arctan(12)arctan(112)arctan(127)
C(75)=0.6421212121arctan(175)=arctan(1)+2.arctan(12)arctan(112)arctan(122)
C(17)=0.6421568627arctan(117)=arctan(1)+2.arctan(12)arctan(112)
C(32)=0.6423611111arctan(132)=arctan(1)+2.arctan(12)arctan(19)
C(7)=0.6428571429arctan(17)=arctan(1)+2.arctan(12)
C(68)=0.6813725490arctan(168)=2.arctan(1)3.arctan(12)arctan(16)
C(93)=0.6899193548arctan(193)=arctan(1)2.arctan(12)+arctan(16)arctan(180)
C(43)=0.6899224806arctan(143)=arctan(1)2.arctan(12)+arctan(16) C(57)=0.7175438596arctan(157)=2.arctan(1)+3.arctan(12)+arctan(15)

[我的时间:< 10 秒]