某公司以一定的策略投资一支股票,每天都会投入一定的资金用于购买股票,其策略为: 1)在周一的时候投入1万块钱。从周二到周日,每天都比前一天多投入 1 万块钱: 2)在接下来每一个周一,都会比前一个周一多投入1万块钱。 要求:使用函数,实现对于任意输入的正整数n,能够得到在第n天结束的时候该公司在该股票上总共投入了多少钱。
时间: 2024-02-24 13:53:14 浏览: 444
这是一道数学题,我们可以通过简单的数学计算来解决。
首先,我们可以计算出在第 $k$ 周一之前的总投资额为:
$$
S_k = 10000 + 20000 + \cdots + (k-1) \times 10000 = 10000 \times \frac{k(k+1)}{2} - 10000
$$
其中,$k$ 是周一的数量,也就是第 $k$ 个周一。这个式子的推导其实很简单,主要是利用了等差数列的求和公式。
接下来,我们需要计算出在第 $k$ 个周一投入的金额。我们可以发现,第 $k$ 个周一之前,一共经过了 $n$ 天,其中包括了 $k-1$ 个周一和 $n - 7(k-1)$ 天。因此,第 $k$ 个周一之前的总投资额为:
$$
T_k = S_{k-1} + 7 \times 10000 + (n-7(k-1)) \times 10000
$$
最后,我们只需要计算在第 $n$ 天结束时,公司在该股票上总共投入了多少钱,即为 $T_k$,其中 $k$ 是小于等于 $n$ 的最大的 7 的倍数加 1,也就是第 $k$ 个周一。
综上所述,我们可以写出如下的代码实现:
```python
def calculate_investment(n):
k = n // 7 + 1
s = 10000 * k * (k - 1) // 2 - 10000
t = s + 7 * 10000 + (n - 7 * (k - 1)) * 10000
return t
```
这样,我们就可以通过调用 `calculate_investment(n)` 函数来计算在第 `n` 天结束时,公司在该股票上总共投入了多少钱了。
阅读全文