首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reddits投票算法,javascript版本

Reddits投票算法,javascript版本
EN

Stack Overflow用户
提问于 2011-12-13 03:12:06
回答 2查看 203关注 0票数 0

我试着用javascript编写这个函数:http://uggedal.com/reddit.cf.algorithm.png

代码语言:javascript
复制
function getRating(t,u,d){

        var x = u-d;

        if(x > 0)
            y = 1
        else if(x == 0)
            y = 0
        else if(x < 0)
            y = -1

        var z = Math.max(1,Math.abs(x));

        return Math.log(z)/Math.log(10) + y*t/45000;

    }

T=传递给函数的第一个post和此post之间的时间(以秒为单位)u= upvotes d= downvotes

代码语言:javascript
复制
console.log(getRating(50000, 25, 25)); //0

但它总是返回零。我错过了什么吗?谢谢

编辑:已更新

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-13 03:21:49

对于示例输入,结果是0,所以这是正确的。对于其他输入,它是否也返回0?

有一件事,根据链接,你应该设置

代码语言:javascript
复制
z = Math.max(1,Math.abs(x))
票数 0
EN

Stack Overflow用户

发布于 2011-12-13 03:17:54

在这种情况下,z将为1,log(1)为0。此外,"y“将是0,因为u == d。

正如在问题的注释中提到的,并且从链接的.png文件中可以清楚地看到,您需要从"x“和1的绝对值的最大值设置"z”。当"u“和"d”相同时,无论如何它都将始终为零。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8479520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档