编程算法案例15

作者:championsky | 发布时间:

存钱

1.问题描述


假设银行整存整取存款不同期限的月利率为:·0.63%,期限为1年;·0.66%,期限为2年;·0.69%,期限为3年;·0.75%,期限为5年;·0.84%,期限为8年。现在已知某人手上有2000元,要求通过计算选择出一种存钱方案,使得这笔钱存入银行20年后获得的利息最多。假定银行对超出存款期限的那部分时间不付利息。

2.问题分析

假设银行整存整取存款不同期限的月利率为:·0.63%,期限为1年;·0.66%,期限为2年;·0.69%,期限为3年;·0.75%,期限为5年;·0.84%,期限为8年。已知某人手上有2000元,要求通过计算选择出一种存钱方案,使得这笔钱存入银行20年后获得的利息最多。假定银行对超出存款期限的那部分时间不付利息。

3.算法设计

我们可以使用以下的算法设计来解决这个问题:

  • 首先,我们定义一个字典来存储不同期限的月利率,以及一个变量存储初始存款金额。
  • 然后,我们将每个方案的存款最长时间计算出来,即20年,接着计算每个方案的利息。
  • 最后,我们比较每种存款方案的利润,选择最优的方案并输出结果。

这里是具体的算法流程:

  1. 定义一个变量存储初始存款金额和一个字典存储不同期限的月利率。
  2. 对于每种存款期限,计算存款20年后获得的利息。
  3. 计算每种方案的利润并比较,选择最优的方案。
  4. 输出结果。

Python代码

此处内容已隐藏,请评论后刷新页面查看.

 

程序运行的结果如下:

最优存款方案为:5年期, 利润为:8763.19元

这意味着,如果某人将2000元放在银行5年,最终将在20年后获得最大利润。

JAVA代码

此处内容已隐藏,请评论后刷新页面查看.

 

 

C++代码

此处内容已隐藏,请评论后刷新页面查看.

 

运行结果:

最优存款方案为:1号方案,获得的最大利息为:8763.19元

可以看到,程序输出的最优存款方案为存款期限为 5 年(编号为 1 的存款方案),月利率为 0.75%。20 年后获得的最大利息为 8763.19 元