gpt4 book ai didi

algorithm - 特定时间用户总数的用户推荐算法/方程式

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:46 28 4
gpt4 key购买 nike

我正在尝试制定一个方程式,根据每 XX 时间的新用户及其推荐用户的输入来确定给定时间的用户数量。

基本上,我们希望每周向系统手动添加 100 个用户。我们假设每个新用户在接下来的每个星期都会再推荐一个用户。这些新用户中的每一个都会在接下来的一周推荐一个用户,依此类推。我们想要一个简单的方程式,我们可以输入周数,然后返回该周结束时的总用户数。我已经使用 for 循环完成了此操作,但如果可能的话,我希望将它放在一个简单的方程式中。

以下是前几周的一些示例数据和预期结果(总计)。

Week 1        Week 2        Week 3        Week 4        Week 5
100 added 100 referred 100 referred 100 referred 100 referred
100 added 100 referred 100 referred 100 referred
100 added 100 referred 100 referred
100 added 100 referred
100 added

100 total 300 total 600 total 1000 total 1500 total

另外,如果分享率为每 2 个用户只有 1 个新用户(50% 的分享率)怎么办?

Week 1        Week 2        Week 3        Week 4        Week 5
100 added 50 referred 25 referred 12.5 referred 6.25 referred
100 added 50 referred 25 referred 12.5 referred
100 added 50 referred 25 referred
100 added 50 referred
100 added

100 total 250 total 425 total 612.5 total 806.25 total

非常感谢任何帮助。

[编辑]

我发现这个等式适用于 1:1 的份额比率,这是基于简单地注意到上表中的模式,但我不确定如何将份额率应用到等式中,50 实际上是如何发挥作用的?

$rate = 1;
$increase = 100;
$week = 5;

$balance = ($increase*$week) + (50 * ($week-1) * $week);

最佳答案

你本来没有指定语言所以我用ruby写了一个解决方案:

sum_of_exponential_decays = -> n { (0..n).map {|n| 100 * 0.5**n}.reduce(:+)}
sum_of_n = -> n {(1..n).inject(0) { |acc,x| acc += sum_of_exponential_decays[x-1]}}
sum_of_n[5]
# => 806.25

代码看起来很清楚,它正在对指数衰减求和,正如它所说的那样。

有关更多解释,请查看 sum_of_exponential 衰减函数,reduce(:+) 简单地对其中的所有元素求和,然后:

exponential_decays = -> n { (0..n).map {|n| 100 * 0.5**n}}
(1..5).map {|x| exponential_decays[x] }
# => [[100.0, 50.0],
[100.0, 50.0, 25.0],
[100.0, 50.0, 25.0, 12.5],
[100.0, 50.0, 25.0, 12.5, 6.25],
[100.0, 50.0, 25.0, 12.5, 6.25, 3.125]]

关于algorithm - 特定时间用户总数的用户推荐算法/方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22614628/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com