建民の每日打卡12

一、问题描述

某银行月利息如下:

 某人手上有2000元,存期20年。计算出收益最高的方案

二、流程设计

1.通过循环嵌套穷举出所有满足条件的方案,并计算出收益

2.比较收益,将收益最大的一组数据输出

三、流程图设计

四、代码实现

#include <iostream>
#include <cmath>
using namespace std;
int main(){
int x1,x2,x3,x5,x8,y1,y2,y3,y5,y8;
double result,max=0.0;
for(x8=0;x8<=2;x8++){
for(x5=0;x5<=20-8*x8/5;x5++){
for(x3=0;x3<=20-8*x8-x5*5/3;x3++){
for(x2=0;x2<=20-8*x8-x5*5-x3*3/2;x2++){
for(x1=0;x1<=20-8*x8-x5*5-x3*3-x2*2;x1++){
result=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(result>max){
max=result;
y1=x1;
y2=x2;
y3=x3;
y5=x5;
y8=x8;
}
}
}
}
}
}
cout<<"8期:"<<y8<<endl<<"5期:"<<y5<<endl<<"3期:"<<y3<<endl<<"2期:"<<y2<<endl<<"1期:"<<y1<<endl<<"一共:"<<result<<endl;
}

 

posted on 2023-04-23 19:45  带带带集美  阅读(13)  评论(0编辑  收藏  举报