jjzjj

ruby - 为什么 Math.sqrt(i*i).floor == i?

我想知道这是不是真的:当我对一个平方整数求平方根时,就像在f=Math.sqrt(123*123)我将得到一个非常接近123的float。由于浮点表示精度,这可能类似于122.99999999999999999999或123.000000000000000000001。因为floor(122.999999999999999999)是122,我应该得到122而不是123。所以我希望floor(sqrt(i*i))==i-1在大约50%的情况下。奇怪的是,对于我测试过的所有数字,floor(sqrt(i*i)==i。这是一个用于测试前1亿个数字的小ruby​​脚本:100_000_000.

ruby-on-rails - 在 Ruby on Rails 中除以百分比

如果@prescribed_wod_count=@user.workouts.rx_workouts.count返回4和@user_workout_count=@user.workouts.count返回26怎么会返回0.000%而不是15%? 最佳答案 它会在您调用number_to_percentage之前执行整数除法。你想要强制它做浮点运算 关于ruby-on-rails-在RubyonRails中除以百分比,我们在StackOverflow上找到一个类似的问题:

ruby - 给定数字的阶乘中尾随零的数量 - Ruby

在尝试计算给定数字的阶乘中尾随零的数量时遇到了一些麻烦。这是Codewars的挑战之一-无法让我通过。zeros(12)=2#=>1*2*3..12=479001600我认为我在这里走错了路,可能有更优雅的ruby方式。这是我目前所掌握的。defzeros(n)x=(1..n).reduce(:*).to_s.scan(/[^0]/)return0ifx==[]returnx[-1].lengthifx!=[]end 最佳答案 这更像是一道数学题。你是对的,你走错了路。(我的意思是你所走的道路将导致一个非常低效的解决方案)首先尝试在

ruby - 检查数组中两个不同数字的总和是否等于可变数字?

在Ruby中,我想获取一个数字数组,选择2个不同的数字,将这2个数字加在一起,然后查看那里的天气等于变量x.y'davariablex。这是我使用的代码defarrayIsEqual?(numArray,x)returntrueifnumArray.sample+numArray.sample==xreturnfalseifnumArray.empty?||numArray.count==1end例如numArray=[4,2,7,5]x=11arrayIsEqual(numArray,n)应该返回true,因为4+7=n(11)我如何让它工作?我不希望它是2个随机数,只是加起来为n的

ruby - 将 10 进制数转换为 N 进制数的算法

我正在寻找一种方法将以10为基数的数字转换为以N为基数的数字,其中N可以很大。具体来说,我正在考虑转换为base-85,然后再转换回来。有谁知道执行转换的简单算法?理想情况下,它会提供如下内容:to_radix(83992,85)->[11,53,12]欢迎任何想法!罗亚 最佳答案 这是一个有趣的问题,所以我有点过火了:classIntegerdefto_base(base=10)return[0]ifzero?raiseArgumentError,'basemustbegreaterthanzero'unlessbase>0num

ruby 数学 gem

有人知道是否有适合数学/几何运算的好工具吗?我需要一些这样的东西:点积叉积向量之间的角度矩阵表面法线向量计算(加、减...)奇异值分解谢谢,晚礼服 最佳答案 我强烈推荐Ruby/GSLgem。您可能需要引用GSLmanual计算出您需要调用的函数的名称,如果它没有记录在Ruby/GSL文档中的话。 关于ruby数学gem,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/541665

ruby - 四舍五入到最接近的十分之一?

我需要四舍五入到最接近的十分之一。我需要的是ceil但精确到第一位小数。例子:10.38wouldbe10.410.31wouldbe10.410.4wouldbe10.4因此,如果超过整整十分之一,则应四舍五入。我正在运行Ruby1.8.7。 最佳答案 这通常有效:ceil(number*10)/10所以在Ruby中应该是这样的:(number*10).ceil/10.0 关于ruby-四舍五入到最接近的十分之一?,我们在StackOverflow上找到一个类似的问题:

ruby - Ruby 的稀疏矩阵库

我正在寻找可以从Ruby使用的稀疏矩阵库。我目前正在使用GNUScientificLibrarybindings由“gsl”gem提供,但如果我使用专用的稀疏矩阵库,我的应用程序会得到更好的优化。我调查了linalg和NArray图书馆。这三个库都不支持稀疏矩阵优化存储或操作。是否有我遗漏的任何东西-或可能为其编写绑定(bind)的现有C库?我更喜欢前者而不是后者,因为我以前没有用Ruby编写过C绑定(bind),但我愿意尝试一下。 最佳答案 像上面提到的Bill一样,纯ruby​​解释会比您想要的慢,但可能对原型(prototyp

ruby - 使用 ruby 生成代表数字的字母?

我想生成一个字母序列,即与数字相对应的“A”、“DE”、“GJE”等。前26个非常简单,所以3个返回“C”,26个返回“Z”,27个返回“AA”,28个返回“AB”,依此类推。我不太清楚如何做到这一点,以便它可以处理传入的任何数字。因此,如果我传入4123,我应该取回3个字母的某种组合,因为(26*26*26)允许最多+17,000种组合。有什么建议吗? 最佳答案 classNumericAlph=("a".."z").to_adefalphs,q="",self(q,r=(q-1).divmod(26));s.prepend(Al

ruby - 计算 Ruby 中的第 95 个百分位数?

这里的这个问题似乎没有帮助:CalculatingPercentiles(Ruby)我想根据数字数组计算第95个百分位数(或者实际上是任何其他所需的百分位数)。最终,这将应用于Rails以计算大量记录的分布。但是,如果我能确定如何从一组数字中准确地确定给定的百分位数,我就可以从那里开始。坦率地说,令我惊讶的是我还没有找到某种具有这种功能的gem——我还没有找到。非常感谢您的帮助。 最佳答案 如果您想复制Excel的PERCENTILE函数,请尝试以下操作:defpercentile(values,percentile)values_