问题标签 [pi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
14220 浏览

algorithm - 并行计算 Pi 的快速算法

我开始学习 CUDA,我认为计算 pi 的长数字将是一个不错的入门项目。

我已经实现了易于并行化的简单蒙特卡罗方法。我只是让每个线程在单位正方形上随机生成点,计算出单位圆内有多少个点,然后使用归约运算计算结果。

但这肯定不是计算常数的最快算法。之前,当我在单线程 CPU 上进行此练习时,我使用类似 Machin 的公式进行计算,以实现更快的收敛。对于那些感兴趣的人,这涉及将 pi 表示为反正切的总和并使用泰勒级数来评估表达式。

这种公式的一个例子:

在此处输入图像描述

不幸的是,我发现将这种技术并行化到数千个 GPU 线程并不容易。问题是大多数操作只是简单地进行高精度数学运算,而不是对长数据向量进行浮点运算。

所以我想知道,在 GPU 上计算任意长的 pi 数字的最有效方法是什么?

0 投票
2 回答
85 浏览

asynchronous - 实现一个 IObservable 来计算 Pi 的位数

这是一项学术练习,我是 Reactive Extensions 的新手,并试图了解这项技术。我为自己设定了一个目标,即制作一个返回 Pi 的连续数字的 IObservable(由于不相关的原因,我现在恰好对 Pi 很感兴趣)。Reactive Extensions 包含用于制作 observables 的运算符,它们给出的指导是您应该“几乎永远不需要创建自己的 IObsevable”。但是我看不到如何使用现成的运算符和方法来做到这一点。让我再解释一下。

我计划使用一种算法,该算法将涉及扩展 Arctan 的泰勒级数。为了获得下一位 Pi,我将在该系列中扩展更多术语。

所以我需要异步进行系列扩展,偶尔将下一个计算数字扔给 IObserver。我显然不想为每个新数字从头开始重新计算。

有没有办法使用 RX 的内置运算符来实现这种行为,还是我必须从头开始编写一个 IObservable?什么策略表明自己?

0 投票
5 回答
3803 浏览

algorithm - 可以在合理的时间内在 pi 中找到任何有限位串吗?

所以,不久前我读到一个类似这样的笑话:

“永远不要以二进制计算 pi - 因为它无限地进行并且是随机的,理论上它包含每个有限位字符串。因此,您将拥有所有现有的受版权保护的材料并承担一些严重的罚款。”

这显然是为了幽默,但它让我思考。如果每个有限位字符串都存在于 pi 的二进制表示中,是否可以将其用作传输数据的方法?

例如,假设我想传输一个可以解释为 jpeg 图像的位串。我不会直接发送信息,而是在 pi 的数字内找到它的位置,并简单地发送 pi 的数字内的第一位的位置,以及字符串的长度。

这对我来说似乎很简单,但这里明显的问题是即使在前几万亿位数字中找到这个字符串的概率也非常小。因此,最终可能需要花费大量时间才能找到。

我的想法是,可以有几台机器专门用于在 pi 中搜索大文件,然后创建它们所有起始位置的索引。因此,每次计算只需要发生一次,然后该信息可以从那时起非常快速地传输。

所以你怎么看?这是完全可行的,还是这些计算会花费太多时间?

谢谢阅读!如果我忽略了任何发布指南,我深表歉意,这是我在这个论坛上的第一个问题。

编辑:

感谢您的快速回复,伙计们!我认为我的推理有误,很高兴知道为什么!

0 投票
4 回答
1843 浏览

c# - 如何在 C# 中获得 1000 个十进制数字?

是否可以在 C# 中获得多达 1000 个十进制数字?

我的程序需要至少 1000 个小数点的 pi 值。

0 投票
5 回答
1853 浏览

python - pyschools 主题 5

根据印度数学家 Srinivasa Ramanujan 找到的公式编写一个函数estimatePi()来估计并返回 Pi 的值。它应该使用 while 循环来计算总和的项,直到最后一项小于 1e-15。估计 Pi 的公式如下: 根据 Ramanujam 的估计

(对不起,我无法上传图片)

而且,我的问题是: 预期答案是 =3.14159265359 我的答案是 =3.14159273001

我找不到我的错:(。有人可以帮我解决这个问题吗?

0 投票
1 回答
1113 浏览

objective-c - 创建一个不断旋转的 UIImageView

我试过使用这样的核心动画:

这会旋转我的 UIImageView,称为外部,但它不会顺利完成 360 度旋转。它在它的 3/4 左右之后跳跃。我不应该在 PI 上轮换吗?

如果我想改变旋转的方向,我该怎么做?它在一分钟内顺时针旋转。

谢谢

0 投票
5 回答
523 浏览

java - 找到除以 Pi 到 4 个小数位的最小素数?爪哇

我发现了一个有趣的问题,我想我可以尝试做;我几乎立即发现了一个我似乎无法解决的问题。

当我运行我的代码时,没有错误,但它只是运行而不返回任何内容。我的循环似乎没问题,而且我知道我的查找素数的算法有效,所以我不知道出了什么问题。

经过大量编辑后,我仍然遇到同样的问题,但是当在 python 中运行几乎相同的代码时,python 代码运行并实际返回结果。这是更改后的代码:

0 投票
2 回答
169 浏览

python - 选择性python字符串替换

我正在尝试使用以下 Python 函数pi替换。math.pi

我有以下字符串:

的输出cleanup(a)是:2*math.pi-- 这很好用!

的输出cleanup(b)the math.pink elephant-- 问题:我不想改变“文本”。

有人能帮我吗?

0 投票
3 回答
3033 浏览

c++ - Pi 的 C++ Chudnovsky 公式

我正在尝试让 C++ 应用程序为我计算 pi。我试图实施 Chudnovsky 公式但没有运气。

这是我的代码:

这样做的目的是让程序输出 Chudnovsky 公式的 10 次迭代。相反,我得到了这个:

0 投票
2 回答
3140 浏览

c++ - C++ Pi 逼近程序

我刚刚学习 C++,所以我开始制作一个简单的程序来近似 pi 的值,使用以下系列: Pi ^ 6 / 960 = 1 + 1 / 3 ^ 6 + 1 / 5 ^ 6... 和依此类推,继续使用 6 次方的奇数分母。这是我的代码:

代码似乎工作正常(变量“总和”和“迭代”都正确增加)到这一行:

由于某种原因,'pi_approximation' 保留其值 1,因此打印到 'cout' 的文本为“1”。