怎样存钱力最大c语言,C语言问题 、//14.怎样存钱利最大 //假设银行整存整取存款不同期限的 月息利率 分别为: 0.63% 期限=1年 0....

该博客探讨了如何在给定的银行存款利率条件下,通过动态调整不同期限的存款策略,使20年后的利息收益最大化。作者使用穷举法遍历所有可能的1年、2年、3年、5年和8年期存款组合,并通过计算本利总和找到最佳方案。最终得出的最优策略是特定次数的1年、2年、3年、5年和8年期存款组合,以实现最高利息收入。
摘要由CSDN通过智能技术生成

C语言问题 、//14.怎样存钱利最大 //假设银行整存整取存款不同期限的 月息利率 分别为: 0.63% 期限=1年 0.0

//14.怎样存钱利最大

//假设银行整存整取存款不同期限的 月息利率 分别为: 0.63% 期限=1年 0.66% 期限=2年 0.69% 期限=3年 0.75% 期限=5年 0.84% 期限=8年

//利息=本金*月息利率*12*存款年限。

//现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行20年后得到的利息最多

//(假定银行对超过存款期限的那一部分时间不付利息)。

//*问题分析与算法设计为了得到最多的利息,存入银行的钱应在到期时马上取出来,然后立刻将原来的本金和利息加起来再作为新的本

//金存入银行,这样不断地滚动直到满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

//可以用穷举法穷举所有的i8、i5、i3、i2和i1的组合,代入求本利的公式计算出最大值,就是最佳存款方案。

//*程序说明与注释

#include

#include

int main()

{

int i8,i5,i3,i2,i1,n8,n5,n3,n2,n1;

float max=0,term;

for(i8=0;i8<3;i8++) /*穷举所有可能的存款方式*/

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

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

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

{

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

term=2000.0*pow((double)(1+0.0063*12), (double)i1)*pow((double)(1+2*0.0063*12), (double)i2)*pow((double)(1+3*0.0069*12),(double)i3)*pow((double)(1+5*0.0075*12),(double)i5)*pow((double)(1+8*0.0084*12),(double)i8);/*计算到期时的本利合计*/

/这句话不怎么理解 请问下这句该怎么理解

if(term>max){ max=term;n1=i1; n2=i2; n3=i3; n5=i5; n8=i8; }

}

printf("For maxinum profit,he should so save his money in a bank:\n");

printf(" made fixed deposit for 8 year: %d times\n",n8);

printf(" made fixed deposit for 5 year: %d times\n",n5);

printf(" made fixed deposit for 3 year: %d times\n",n3);

printf(" made fixed deposit for 2 year: %d times\n",n2);

printf(" made fixed deposit for 1 year: %d times\n",n1);

printf(" Toal: %.2f\n",max);/*输出存款方式*/

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值