打卡6

2.1个人所得税问题

 //if   else就可以

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
int main()
{
cin>>n;
double ans;
if(n<3500)cout<<n;//小于起征点

else//达到了起征点
{
if(n<=4500) ans=1500*(0.97)+(n-1500)*(0.9);
else if(n<=9000)ans=1500*0.97+3000*0.9+(n-4500)*0.8;
else if(n<=35000)ans=1500*0.97+3000*0.9+4500*0.8+(n-9000)*0.75;
else if(n<=55000)ans=1500*0.97+3000*0.9+4500*0.8+26000*0.75+0.7*(n-35000);
else if(n<=80000)ans=1500*0.97+3000*0.9+4500*0.8+26000*0.75+0.7*20000+(n-55000)*0.65;
else ans=ans=1500*0.97+3000*0.9+4500*0.8+26000*0.75+0.7*20000+25000*0.65+(n-80000)*0.55;
cout<<ans<<endl;
}

return 0;
}

 

2.2存钱问题

 流程图

 

#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
typedef long long ll;
int main()
{
int x1,x2,x3,x5,x8,y1,y2,y3,y5,y8;
double ans=-50.0,r;
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-3*x3-5*x5-8*x8)/2;x2++)
{
x1=-2*x2+20-3*x3-5*x5-8*x8;
r=2000.0*pow((1+0.0063*12),x1)*pow((1+0.0066*12),x2)
*pow((1+0.0069*12),x3)*pow((1+0.0075*12),x5)*pow((1+0.0084),x8);
if(r>ans)
{
ans=r;
y1=x1;
y2=x2;
y3=x3;
y5=x5;
y8=x8;
}
}
}
}
}
cout<<y1<<' '<<y2<<' '<<y3<<' '<<y5<<' '<<y8<<endl;
cout<<ans;
return 0;
}

 

posted on 2023-04-17 17:09  临江柔  阅读(20)  评论(0编辑  收藏  举报