Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据平均评论数和总评论数确定每次评论的数量_Javascript_Html_Algorithm - Fatal编程技术网

Javascript 如何根据平均评论数和总评论数确定每次评论的数量

Javascript 如何根据平均评论数和总评论数确定每次评论的数量,javascript,html,algorithm,Javascript,Html,Algorithm,所以我有一个问题需要解决,但我不能找到一个好的算法。我得到了评论的平均数和总评论数。从这两条信息中,我需要随机生成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 st

所以我有一个问题需要解决,但我不能找到一个好的算法。我得到了评论的平均数和总评论数。从这两条信息中,我需要随机生成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。有人知道这样的算法吗?谢谢

通过对每件事进行五星级评估,您可以获得尽可能多的总分。您可以通过将其中一个五星评语改为四星评语,将总数减少一。你可以继续减少一个,直到一切都是四星级的审查。再一次,通过四星级评估和三星级评估来减少1

所以有一种方法可以得到所有可能的总分,从所有的5星到所有的1星,你可以得到每个可能的总分的某种答案

当然,你不需要逐点计算。您可以通过将积分总数与所有五星、所有四星进行比较来开始搜索。。所有1-星,并找到最小的总比你的目标大。然后,将你选定的任何一颗星的值调整到下一个最小值,以达到你的确切目标


当然,这看起来有点做作,但你不能制造虚假的评论数字来推动产品上市,因为这将是虚假的广告,迟早你会被抓住。

请参见下面的答案,但我可能有误解。你是想找到所有能给你答案的a,b,c,d,e的排列吗?不是所有的排列,只有一个。请记住,可能会有超过一百万的评论,但很明显,评论的平均值将在1-5之间。算法必须足够健壮,才能处理大量的评论。就一篇?哪一个?有人吗?还是你认为可以找到正确的?任何一个。如果我的两个标准都符合下面两个公式,那么任何排列都是可以接受的答案。你到底为什么需要生成这么多虚假的审查数据?你是想在一些毫无戒心的网站上发布真实的虚假评论还是什么?