现在北京有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,那么他需要几年才能攒够钱买这套房子?
#include <iostream>
using namespace std;
int main( )
{
int i=0,p=200,s=40;//p:房价,s:年收入
double ps=p,ss=0;
while(i<80&&ss<ps)
{
i+=1;
ps=ps*1.1;
ss=s*(i+1);
cout<<i<<"年后房价为:"<<ps<<"万元,总收入为:"<<ss<<"万元。"<<endl;
}
if(i>=80)
cout<<"不用想了!"<<endl;
else
cout<<i<<"年后可以买房,房价为"<<ps<<"万元,总收入为"<<ss<<"万元。"<<endl;
return 0;
}
题目拓展:这位软件工程师没有理财意识,不去投资,也不至于将现金堆在家里吧,至少应存到银行,吃点利息(考虑通胀因素,可能仍亏,但比放家里现金收益高也安全)。按存1年定期,重新求解上面的问题。
#include <iostream>
using namespace std;
int main( )
{
int i=0,p=200,s=40;//p:房价,s:年收入
double ps=p,rate=0.033,ss=0;
while(i<80&&ss<ps)
{
i+=1;
ps=ps*1.1;
ss+=s*(1+rate);
cout<<i<<"年后房价为:"<<ps<<"万元,总收入为:"<<ss<<"万元。"<<endl;
}
if(i>=80)
cout<<"不用想了!"<<endl;
else
cout<<i<<"年后可以买房,房价为"<<ps<<"万元,总收入为"<<ss<<"万元。"<<endl;
return 0;
}
题目再拓展:软件工程师不涨工资不对。工作经验、效率逐年提高,这家公司不给涨,会找另一家给涨工资的公司做。假如每年工资涨5%,结果又是如何呢?
#include <iostream>
using namespace std;
int main( )
{
int i=0,p=200,s=40;//p:房价,s:年收入
double ps=p,rate=0.033,ss=0;
while(i<80&&ss<ps)
{
i+=1;
ps=ps*1.1;
ss+=s*(1+rate);
s=s*(1+0.05);
cout<<i<<"年后房价为:"<<ps<<"万元,总收入为:"<<ss<<"万元。"<<endl;
}
if(i>=80)
cout<<"不用想了!"<<endl;
else
cout<<i<<"年后可以买房,房价为"<<ps<<"万元,总收入为"<<ss<<"万元。"<<endl;
return 0;
}