Tag: 数学

Ruby数学gem

有没有人知道数学/几何操作是否有好的gem? 我需要一些这样的东西: 点产品 交叉产品 矢量之间的角度 矩阵 表面normale 矢量计算(加,减……) 奇异值分解 thx,tux

使用ruby生成用来表示数字的字母?

我想生成一系列字母,即“A”,“DE”“GJE”等,对应一个数字。 前26个很容易,因此3返回“C”,26返回“Z”,27返回“AA”,28“AB”,依此类推。 我无法弄清楚的是如何做到这一点,所以它将处理传入的任何数字。所以如果我传入4123我应该回到3个字母的组合,因为(26 * 26 * 26)允许最多+17,000种组合。 有什么建议?

需要帮助最大化多个相似对象中的3个因素并进行适当排序

我需要用任何语言编写算法,根据3个因素对数组进行排序。 我以度假村为例(如Hipmunk)。 假设我想去度假。 我想要最便宜的地方,最好的评论和最吸引人的地方。 但是,显然我无法在所有3中找到#1。 示例(假设有20个重要景点): 度假村 – 答:150美元/晚… 98/100在有利的评论… 20个景点中的18个 度假村B:99美元/晚… 85/100在有利的评论… 20个景点中的12个 度假村C:120美元/晚… 91/100在有利的评论… 20个景点中的16个 度假村B看起来价格最具吸引力,但在其他两个类别中排名第三。 其中,我可以选择度假村C每晚只需21美元,并获得更多的景点和更好的评论。 价格对我来说仍然很重要,但是A度假村拥有出色的评价和众多景点:价值51美元的奢侈品值多少钱吗? 我希望能够填充一个列表,从“从最好到最差”点亮(我引用bc对消费者来说是主观的)。 我如何最大化每个度假村的价值? 我应该为每个因素设置一个权重(即:55%的价格,30%的评论,15%的设施)并得到一组数字的结果并按照这种方式订购? 我是否需要所有酒店的模式,中位数和范围并确定平均价格,并且平均价格附近的酒店是否保持最重? 如果有点混乱,请访问www.hipmunk.com。 他们有一种飞机排序他们称之为痛苦(和我的问题相似的酒店类型),他们将其作为自己使用。 我以度假村为例让我的问题更有意义。 如何将数学运用于这样的问题?

使用Ruby进行科学编程

我正在用python或octave进行数学计算,因为手头上有非常好的函数和库。 但是最近我对ruby产生了兴趣,我想知道Ruby中是否存在类似于Python中用于科学编程的numpy,scipy。 具体来说,我正在寻找一些我可以在matplotlib中绘制绘图的东西,并在numpy和scipy中快速进行数学,代数计算。

多个纬度/经度点的半径

我有一个程序,它将lat / long点数组作为输入。 我需要对该数组执行检查以确保所有点都在某个半径范围内。 因此,例如,我允许的最大半径是100英里。 给定一个lat / long数组(来自MySQL数据库,可能是10个点可能是10000)我需要弄清楚它们是否都适合半径为100英里的圆。 有点难过如何处理这个问题。 任何帮助将不胜感激。

用于将基数10转换为基数N的算法

我正在寻找一种方法将基数为10的数字转换为基数为N的数字,其中N可以很大。 具体来说,我正在寻找转换到base-85并再次返回。 有谁知道一个简单的算法来执行转换? 理想情况下它会提供如下内容: to_radix(83992, 85) -> [11, 53, 12] 任何想法都表示赞赏! 罗亚

在给定数字的阶乘中的尾随零的数量 – Ruby

尝试计算给定数量的阶乘中的尾随零的数量时遇到一些麻烦。 这是Codewars面临的挑战之一 – 无法通过。 zeros(12) = 2 #=> 1 * 2 * 3 .. 12 = 479001600 我想我在这里走错路,可能有一种更优雅的ruby方式。 这就是我到目前为止所做的事情。 def zeros(n) x = (1..n).reduce(:*).to_s.scan(/[^0]/) return 0 if x == [] return x[-1].length if x != [] end

ruby算术

为什么这个代码7.30 – 7.20在ruby中返回0.0999999999999996 ,而不是0.10 ? 但是,如果我写7.30 – 7.16 ,例如,一切都会好的,我会得到0.14 。 问题是什么,我该如何解决?

给定数量的所有因素

例如,我有4800,我想看到这个数字的所有因素。 # num = the number you want factors of def factors_of(num) (1..num).collect { |n| [n, num/n] if ((num/n) * n) == num}.compact end divisors_of(4800)=> [[1,4800],[2,2400],[3,1600],[4,1200],[5,960],[6,800],[8,600],[ 10,480],[12,400],[15,320],[16,300],[20,240],[24,200],[25,192],[30,160],[32, 150],[40,120],[48,100],[50,96],[60,80],[64,75],[75,64],[80,60],[96,50] ,[100,48],[120,40],[150,32],[160,30],[192,25],[200,24],[240,20],[300,16],[ 320,15],[400,12],[480,10],[600,8],[800,6],[960,5],[1200,4],[1600,3],[2400, 2],[4800,1]] 你会用ruby或任何语言做到这一点?

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

我需要四舍五入到最接近的十分之一。 我需要的是ceil但精确到小数点后第一位。 例子: 10.38 would be 10.4 10.31 would be 10.4 10.4 would be 10.4 因此,如果它是超过十分之一的任何数量,它应该被四舍五入。 我正在运行Ruby 1.8.7。