编程算法案例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年,接着计算每个方案的利息。
- 最后,我们比较每种存款方案的利润,选择最优的方案并输出结果。
这里是具体的算法流程:
- 定义一个变量存储初始存款金额和一个字典存储不同期限的月利率。
- 对于每种存款期限,计算存款20年后获得的利息。
- 计算每种方案的利润并比较,选择最优的方案。
- 输出结果。
Python代码
此处内容已隐藏,请评论后刷新页面查看.
程序运行的结果如下:
最优存款方案为:5年期, 利润为:8763.19元
这意味着,如果某人将2000元放在银行5年,最终将在20年后获得最大利润。
JAVA代码
此处内容已隐藏,请评论后刷新页面查看.
C++代码
此处内容已隐藏,请评论后刷新页面查看.
运行结果:
最优存款方案为:1号方案,获得的最大利息为:8763.19元
可以看到,程序输出的最优存款方案为存款期限为 5 年(编号为 1 的存款方案),月利率为 0.75%。20 年后获得的最大利息为 8763.19 元