c++训练打卡(12)

存钱问题:

银行有几种不同的月息利率

期限一年 0.0063   期限两年  0.0066   期限三年  0.0069  期限五年  0.0075  期限八年  0.0084

某人手中有2000块钱,存20年,问怎么存才能使得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("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("最大获利为%.2f",result);
return 0;
}

posted @ 2023-04-20 21:07  夏季彼岸德  阅读(68)  评论(0)    收藏  举报