存钱问题

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

为了获得最多的利息,应该在存入银行的钱到期后马上就取出来,然后再立刻将原来的本金加上当前所获取到的利息作为新的本金存入银行,这样反复操作直到年限满年为止。

不同存款期限的组合所获得的利息也是不同的。

#include<stdio.h>
#include<math.h>
int main()
{
    int x1,x2,x3,x5,x8,y1,y2,y3,y5,y8;
    double max=0.0,result;
    for(x8=0;x8<=2;x8++)
        for(x5=0;x5<=(20-8*x8)/5;x5++)
            for(x3=0;x3<=(20-8*x8-5*x5)/3;x3++)
                for(x2=0;x2<=(20-8*x8-5*x5-3*x3)/2;x2++)
                {
                    x1=20-8*x8-5*x5-3*x3-2*x2;

result=2000.0*pow((1+0.0063*12),x1)*pow((1+2*0.0066*12),x2)*pow((1+3*0.0069*12),x3)*pow((1+5*0.0075*12),x5)*pow((1+8*0.0084*12),x8);
                    if(result>max)
                    {
                        max=result;
                        y1=x1;
                        y2=x2;
                        y3=x3;
                        y5=x5;
                        y8=x8;
                    }
                }
                printf("获得利息最多的存款方式为:\n");
                printf("8年期限的存了 %d 次\n",y8);
                printf("5年期限的存了 %d 次\n",y5);
                printf("3年期限的存了 %d 次\n",y3);
                printf("2年期限的存了 %d 次\n",y2);
                printf("1年期限的存了 %d 次\n",y1);
                printf("存款人最终的获得的本利合计:%0.2f\n",result);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值