问题 K: 趣味百题:怎样存钱利最大

问题 K: 趣味百题:怎样存钱利最大

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 0
[提交][状态][讨论版]

题目描述

 

假设银行整存整取存款不同期限的月息利率分别为:
0.63%
期限=1
0.66%
期限=2
0.69%
期限=3
0.75%
期限=5
0.84%
期限=8
利息=本金*月息利率*12*存款年限。
现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行20年后得到的利息最多(假定银行对超过存款期限的那一部分时间不付利息)

输入

输出

8 1                8年1次
5 2                5年2次
3 0                3年0次
2 1                2年1次
4200.13         本息

样例输出

8 1
5 2
3 0
2 1
4200.13

提示

为了得到最多的利息,存入银行的钱应在到期时马上取出来,然后立刻将原来的本金和利息加起来再作为新的本金存入银行,这样不断地滚动直到满20年为止,由于存款的利率不同,所以不同的存款方法(年限)20年得到的利息是不一样的。

分析题意,设2000元存20年,其中1年存i1次,2年存i2次,3年存i3次,5年存i5次,8年存i8次,则到期时存款人应得到的本利合计为:

2000*(1+rate1)i1*(1+rate2)i2*(1+rate3)i3*(1+rate5)i5*(1+rate8)i8

其中rateN为对应存款年限的利率。根据题意还可得到以下限制条件:

0<=i8<=2

0<=i5<=(20-8*i8)/5

0<=i3<=(20-8*i8-5*i5)/3

0<=i2<=(20-8*i8-5*i5-3*i3)/2

0<=i1=20-8*i8-5*i5-3*i3-2*i2

可以用穷举法穷举所有的i8i5i3i2i1的组合,代入求本利的公式计算出最大值,就是最佳存款方案。

[提交][状态]