解题思路:
1.定义变量n为年薪,k为房价的增长率,sum1为房价,初始化为200
2.输入两个变量n,k
3.定义sum为存款,赋值为n,表示经过了第一年存款有n万元,然后i为年数的计数器,此时i=1,表示经过了一年
4.创建while循环,如果存款小于房价的时候,执行循环
5.在循环里面,存款累加sum=sum+n,房价增长sum1=sum1*(1+0.01*k)因为k是百分数,所以缩小100倍,然后i++,表示年数增加1,如果i>20了,那么输出impossible,提前结束程序
6.如果并没有提前结束程序,那么输出i的值,为结果
#include<bits/stdc++.h>
using namespace std;
int main()
{
double n,k,sum1=200;//定义变量n为年薪,k为房价增长率
cin>>n>>k;//输入这个变量
double sum=n;//定义第一年的存款
int i=1;//变量i表示过了多少年
while(sum<sum1)//如果存款小于房价的时候,循环
{
sum=sum+n;//将每年的年薪添加到累加器中
sum1=sum1*(1+0.01*k);//房价随着利率每年都增加
i++;//年数增加1
if(i>20)//如果超过了20年
{
cout<<"Impossible";//输出不可能
return 0;//提前结束程序
}
}
cout<<i;//如果没有提前结束,那么输出所用年限
return 0;
}