Articles of math

我如何在js中像Excel中的圆形函数一样以负的精度舍入一个数字

我正在尝试从8904000到8900000的值。有没有什么可能的方法来改变这个使用Math.round。 在MS Excel中的例子 =round(8904000,-5); ANS: 8900000 我尝试了下面的代码,但Math.round不采取第二个参数 Math.round(8904000,-5); ANS: 8904000 总之我想把这个数字凑到最接近的100,000个数字 所以5300 * 56 * 30 = 8904000变成8900000

计算趋势线并预测未来的结果

我正在为正在编写的网站编写一些分析模块,我需要估计当前小时后的总体视图。 我有每分钟到目前的分钟的数据,所以如果时间是12:28,我将有一个数组,看起来像这样: 0: "21410" 1: "21886" 2: "21837" 3: "21895" 4: "21564" 5: "21714" 6: "21571" 7: "21324" 8: "21310" 9: "21390" 10: "21764" 11: "21598" 12: "21493" 13: "21352" 14: "21478" 15: "21058" 16: "20942" 17: "20825" 18: "21321" 19: "20950" 20: "21039" 21: "21117" 22: "20733" 23: "20773" 24: "20929" 25: "20900" 26: […]

节点:将缓冲区转换为十进制值

我有一个填充数据的缓冲区,并以<Buffer 52 49 …>开头 假设这个缓冲区被定义为buf,如果我运行buf.readInt16LE(0),返回如下内容: 18770 现在,hex值52和49的二进制表示是: 01010010 01001001 如果我要将前15位转换为十进制,则省略第16位来补码,我会得到以下结果: 21065 为什么我的结果没有给我18770的价值?

生成20位数字的唯一可逆ID

我想从一个代表数字的string中产生一个新的唯一的20位数的string 例如 : var uid = key.pseudoHash("00000000000000000000"), // "45021-78054-45021-16875" uid = key.pseudoHash("00000000000000000001"), // "15751-40213-97315-65348" .. uid = key.pseudoHash("99999999999999999999"); // "01197-95791-58880-58368" 我怎样才能有这个伪造的function,使不碰撞,可以颠倒?

Node.js Math.random()不起作用

我写了这段代码来使用Monte Carlo模拟来估计Pi,但是我注意到无论迭代的数量如何,结果总是在2.0附近。 我想这可能是Math.random()不起作用。 代码使用Node v7.5.0在Mac OS Sierra上运行。 有任何想法吗? // Begin of code iterations = 100000000; in_circle = 0; function find_pi(){ for ( i = 0; i < iterations; i++ ){ x = 1 – 2 * Math.random(); y = 1 – 2 * Math.random(); if ( (x^2 + y^2) < 1 ) in_circle++; } console.log( […]

在javascript中使用较大的数字查找LCM时出错

目前试图find一个课程使用JS的LCM。 这似乎工作没有问题,但是当我提交它,我得到一个失败的结果input226553150 1023473145 ,并返回46374212988031340当它应该返回46374212988031350感谢您的任何事情,你可以做! var readline = require('readline'); process.stdin.setEncoding('utf8'); var rl = readline.createInterface({ input: process.stdin, terminal: false }); function lcm(a,b) { return((a*b)/gcd(a,b)) } function gcd(a,b) { if(b == 0){ return a; } return gcd(b,(a%b)); } rl.on('line', (line) => { var a = parseInt(line.toString().split(' ')[0]); var b = parseInt(line.toString().split(' ')[1]); console.log(lcm(a,b)); rl.close(); })

球员运动对angular线 – 太快|| 的NodeJS

如果我向右或向左或向下移动播放器,则向该方向移动5px。 但是,如果我按下,右侧例如播放器正在向右移动5像素和5像素,从前一个位置,而不是5像素约7像素。 我可以添加下一个IF语句:if(up and down)然后spdX和spdY =(maxSpd – maxSpd√2)/或简单的-25%? 但是我觉得我的代码有点混乱 任何不错的解决scheme,快速,看起来很简单? 🙂 这是我的代码: self.updateSpd = function(){ if(self.pressingRight){ self.spdX = self.maxSpd; if(self.pressingShift && self.stamina > 0){ self.spdX += self.maxRun; self.stamina –; } } else if(self.pressingLeft){ self.spdX = -self.maxSpd; if(self.pressingShift && self.stamina > 0){ self.spdX -= self.maxRun; self.stamina –; } } else{ self.spdX = 0; } if(self.pressingUp){ self.spdY […]

我试图在node.js中求解一个非线性方程组

我试图通过编程来解决以下公式: (ax−x0)^2 + (ay−y0)^2 = r^2 (bx−x0)^2 + (by−y0)^2 = (r+330bs)^2 (cx−x0)^2 + (cy−y0)^2 = (r+330cs)^2 ax,bx,cx,ay,by,cy,bs和cs是我在运行时得到的所有参数。 我试图findx0和y0 ,但是当我把这个喂给algebra.js它错误了。 我是一名高中生,所以我没有学习高端math(我find了解决scheme的旋转matrix,我还没有学习) 会喜欢一些帮助,提前感谢。 编辑: 我用代数.js的代码是: /* a = ax* b = bx* c = cx* d = ay* e = by* f = cy* g = x0 h = y0 i = r j = bs* k […]

Node.js – 如何使用crypto.randomBytes在特定范围内生成随机数字

如何使用crypto.randomBytes在特定范围内生成随机数字? 我想能够生成一个像这样的随机数字: console.log(random(55, 956)); // where 55 is minimum and 956 is maximum 而且我仅限于在随机函数内部使用crypto.randomBytes来为此范围生成随机数。 我知道如何将生成的字节从randomBytes转换为hex或十进制,但我不知道如何从math上随机字节的特定范围内获得一个随机数。

在Javascript中使用随机数字和运算符生成一个随机math公式

我想创build一个程序,应该打印出最简单的mathexpressionforms,如(21 + 13)* 56使用随机号码。 1到100 ,程序必须采取一个级别参数, 级别决定生成方程的长度 ,例如: 游戏必须产生具有加法+乘法运算符的方程,如(21 + 13)* 56 (使用方括号) —-level 2 75 – 54 = 21 62 + 15 = 77 88 / 22 = 4 93 + 22 = 115 90 * 11 = 990 –level 3 ( 21 + 13 ) * 56 = 1904 82 – 19 + […]