【发布时间】:2014-12-18 23:48:33
【问题描述】:
所以我有这个问题需要解决,但我想不出一个好的算法。我得到了评论的平均值和总评论的数量。从这两条信息中,我需要随机生成多少个 5 星、4 星、3 星、2 星和 1 星评论。这里有两个公式可以更好地解释问题到底是什么。
Given Review Average (x)
Given Total Number of Reviews (y)
Find:
a = # of 5 star reviews
b = # of 4 star reviews
c = # of 3 star reviews
d = # of 2 star reviews
e = # of 1 star reviews
a + b + c + d + e = total # of reviews (KNOWN: y)
(5*a + 4*b + 3*c + 2*d + 1*e) = total number of stars = average(x) * total reviews(y)
这更像是一种数学问题而不是编程,但我需要能够编写某种类型的算法来在 JavaScript 中以编程方式获取 a、b、c、d 和 e。有谁知道这样的好算法?谢谢!
【问题讨论】:
-
请参阅下面的答案,但我可能会误解。您是否正在尝试找到可以给您答案的
a、b、c、d、e的所有排列? -
不是所有的排列,只有一个。请记住,可能会有超过一百万条评论,但显然平均评论将在 1-5 之间。该算法必须足够强大以处理大量评论。
-
“只有一个”?哪一个?任何人?还是您假设可以找到正确的?
-
任何一个。满足我的两个标准(底部两个公式)的任何排列都是可以接受的答案。
-
您到底为什么需要生成这么多虚假评论数据?你是想在一些毫无戒心的网站上发布真实的虚假评论吗?
标签: javascript html algorithm