问题标签 [rational-number]
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.
ruby - How to format a Rational number as a decimal?
Given an arbitrary large (or small) Rational
number that has a finite decimal representation, e.g.:
How can I get its full decimal value as a string?
The expected output for the above number is:
to_f
apparently doesn't work:
And sprintf
requires me to specify the number of digits:
algorithm - 以非常高的精度找到 2^(1/3) 的连分数
这里我将使用符号
可以通过计算它然后应用定义来找到一个数字的连分数,但这需要至少 O(n) 位的内存才能找到一个0,一个1 ...一个n,实际上它是一个多更差。使用双浮点精度只能找到0、1 ... a 19。
另一种方法是使用这样一个事实:如果 a,b,c 是有理数,则存在唯一有理数 p,q,r 使得 1/(a+b*2 1/3 +c*2 2/3 ) = x +y*2 1/3 +z*2 2/3,即
因此,如果我使用 boost 有理库将 x、y 和 z 表示为绝对精度,我只能使用 2 1/3 的双精度准确地获得 floor(x + y*2 1/3 + z *2 2/3 )和2 2/3因为我只需要它在真实值的 1/2 以内。不幸的是,x、y 和 z 的分子和分母增长得相当快,如果你使用常规浮点数,错误会很快堆积起来。
通过这种方式,我能够在一小时内计算出0、1 ... 10000,但不知何故,mathematica 可以在 2 秒内完成。这是我的代码供参考
java - 我的 Rational 代码的主要方法
所以我已经完成了有理数的加法、减法等有理数测试的代码。我一直在尝试制作实际输出代码的主类。
这是我的 Rational 类代码:
java - 实现与理性类(java)相当的接口
我是 Java 初学者,这是我第一次使用 Comparable 接口。我不明白为什么在比较 r1 和 r2 时它一直返回零。有人可以向我解释我的代码有什么问题吗?谢谢你。
ruby-on-rails - 为什么 JSON/Rails 中突然出现有理数
我使用 Rails 为 javascript 图表库(High Charts)生成 JSON。有几个地方我使用整数算术来计算条形图中的百分比,如下所示(简化示例):
该服务器已经运行了好几年没有问题,但就在最近几周,它偶尔会开始失败,因为它会生成一个Rational
数字而不是 a Fixnum
(例如,2700/50
而不是54
)。这是因为浏览器中的 JSON 解析器不理解有理数。
修复很容易(调用to_i
或round
结果),但我很困惑为什么这会在 4 年后突然开始发生,以及为什么它只发生在我的网络农场的单个服务器上的一些乘客实例上。网络机器是相同的(据我所知)。
我的四部分问题:
- 有没有更惯用的方法来计算 Ruby 中的百分比?
- 当 Ruby 生成一个有理数而不是一个固定数时,规则是什么?
- 为什么这突然开始发生?
- 为什么它只会发生在我的 Rails 服务器的某些实例上?
版本详情:
- 红宝石 2.2.2
- 导轨 3.2.22
- 乘客 5.0.21
- Ubuntu 12.04.5 LTS
android - 如何从android中的照片属性中获得合理的曝光时间?
我正在写画廊。但是double
当我使用时exifInterface.getAttribute(ExifInterface.TAG_EXPOSURE_TIME)
,它应该是理性的(分数)。如果我打开系统库,这是合理的。请帮助我。谢谢。
python - 为什么 decimal.Decimal 对象不被认为是合理的?
pythonDecimal
存储一个以 10 为底的数字,可以将其视为底部的 10 次方的比率。
那么为什么会失败呢?
python - C++11 正则表达式混淆
我有一个 python 正则表达式:
换句话说,获取命名组:
- 签名/未签名 | 有理数/小数/整数 | 号码 | 有/无指数
但我对 C++11 正则表达式格式感到困惑?正如我所读到的,支持的格式很少,但是我得到了一个正则表达式解析器异常。此外,我读过 C++11 正则表达式不支持命名组。
如何拥有提供等效方案的 C++11 兼容正则表达式?
非常感谢您的帮助。
ruby - 在 ruby 中设置哈希值(分数)和排序
我收到以下哈希:
但是当我看到哈希时,我得到以下信息:
如您所见,它转换为整数 (0)
我怎样才能以 Rational 的身份离开,或浮动以便我可以排序my_hash.sort_by {|key, value| value}
?
math - 显示由两个整数定义的无限有理数
我正在研究 C++ 中的有理数类。有理数由两个 int(分子和分母)定义。我想将其正确显示为数字。现在,我确定该数字是“无限”还是有限位数的有理数。
这里有一个小伪代码来说明:
我想像这样显示无限的数字:打印一次重复数字,然后“...”(例如:1/3 -> 0.3...,1/11 -> 0.09...)
那么,是否有一种算法可以找到将在有理数中重复的数字块?