游客 Signup | Login
中文 | En

1624 - 买房子

某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子(第一年房价200万,收入N万)

Input

有多行,每行两个整数N(10<=N<=50), K(1<=K<=20)

Output

针对每组数据,如果在第20年或者之前就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible,输出需要换行

Examples

Input

49 8
41 9
44 7

Output

6
Impossible
7

Hint

很讽刺。。。不是吗?

简单模拟即可。

Solution C

int main(int argc, char* argv[])
{int i,n,k;
double sum,sum1;
while(~scanf("%d%d",&n,&k))
{ sum=200;sum1=n;
for(i=0;i<20;i++)
{
	if(sum1>=sum)break;
sum=sum*(1+k*1.0/100);
sum1+=n;

}
if(i>19)printf("Impossible\n");
else printf("%d\n",i+1);

}
	return 0;
}

Solution C++

#include <iostream>
using namespace std;

int main()
{
	int N,K;
	while(cin>>N>>K)
	{
		float price = 200;
		float earn  = N;
		int year =1;
		while( earn <price )
		{	//每年一次循环 
			if(year>20)
			{	
				cout<<"Impossible"<<endl;
				break;
			}
			//cout<<"year: "<<year<<"earn:"<<earn<<"price"<<price<<endl;
			earn += N;//总收入增加 
			price = price*(1.0+(float)K/100);//房价增加 
			year++;
		}
		if(year<=20)
			cout<<year<<endl;
	}
	return 0;
}

Hint

很讽刺。。。不是吗?

简单模拟即可。

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题