理解pow((1+2*0.0066*12),x2) 的用法 题目: 怎样存钱利最大 ( 利息 =本金*存款年限*月息利率*12)

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

思路:  利息    =本金*存款年限*月息利率*12。
            利息    =2000*2*0.0066 *12
       
         一共收入 =2000+2000*2*0.0066 *12 
                        =2000*(1+2*0.0066 *12)
      
            假设 :(部分)
                    x2=2 
          一共收入=2000*(1+2*0.0066 *12)  当 x2==1
                                  把这个当做本金         *( 1+2*0.0066 *12) 当 x2 ==2 ,终止
          
  所以
          一共收入=2000 *(1+2*0.0066 *12) * (1+2*0.0066 *12)
                        =2000 *pow((1+2*0.0066*12),x2)


#include <stdio.h>
# include <math.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
 int x1,x2,x3,x5,x8;
 double sum=0.0,max=0.0;
 int y1,y2,y3,y5,y8;
 for(x8=0;x8<=2;x8++)
 {
  for(x5=0;x5<=(20-x8*8)/5;x5++)
  {
   for(x3=0;x3<=(20-(x8*8+x5*5))/3;x3++)
   {
    for(x2=0;x2<=(20-(x8*8+x5*5+x3*3))/2;x2++)
    {
     x1=20-x8*8-x5*5-x3*3-x2*2;
     
      sum=2000*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(sum>max)
      {
       max=sum;
       y1=x1;
       y2=x2;
       y3=x3;
       y5=x5;
       y8=x8;
      }
      
    }
   }
   }
  }
 
 printf("最大值是%.2f\n",max);        //  注意double -->%f  其他格式输出错误
 printf("存%d个一年\n",y1);
 printf("存%d个二年\n",y2);
 printf("存%d个三年\n",y3);
 printf("存%d个五年\n",y5);
 printf("存%d个八年\n",y8);
 
 return 0;
}
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值