单点时限: 2.0 sec
内存限制: 256 MB
Google 公司在 2010 年的某次校园招聘面试题中有这样一个选择题:
现在北京有一套房子价格 200 万,假设房价每年上涨 10%,一个软件工程师每年固定能赚 40 万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,也不用上税,那么他需要几年才能攒够钱买这套房子?
A.5 年 B.7 年 C.8 年 D.9 年 E. 永远买不起
据说能正确回答的应聘者并不多。
现在,我们准对上海 2011 年的情况做一些改变,你通过写程序回答类似的问题。
某程序员 2011 年 1 月 1 日开始工作时年薪 n 万,他希望买一套中环线附近 90 平米的房子,现在价格是 270 万,假设房价以每年 k% 增长,并且该程序员未来年薪以每年 m% 增长,且不吃不喝,不用交税,每年所得都积攒起来,问第几年年末能够买下这套房子?假设一个人的工作年限为 30 年,若第 30 年还不能买下这套房子,那就是永远买不起。
例如:n=100,k=10,m=30 时:
第 1 年 积蓄 100 房价 270
第 2 年 积蓄 230 房价 297
第 3 年 积蓄 399 房价 326.7
答案为:3。
又如:n=6,k=10,m=15 时:
第 1 年 积蓄 6 房价 270
第 2 年 积蓄 12.9 房价 297
第 3 年 积蓄 20.835 房价 326.7
第 4 年 积蓄 29.9602 房价 359.37
第 5 年 积蓄 40.4543 房价 395.307
第 6 年 积蓄 52.5224 房价 434.838
第 7 年 积蓄 66.4008 房价 478.321
第 8 年 积蓄 82.3609 房价 526.154
第 9 年 积蓄 100.715 房价 578.769
第 10 年 积蓄 121.822 房价 636.646
第 11 年 积蓄 146.096 房价 700.31
第 12 年 积蓄 174.01 房价 770.342
第 13 年 积蓄 206.112 房价 847.376
第 14 年 积蓄 243.028 房价 932.113
第 15 年 积蓄 285.482 房价 1025.32
第 16 年 积蓄 334.305 房价 1127.86
第 17 年 积蓄 390.451 房价 1240.64
第 18 年 积蓄 455.018 房价 1364.71
第 19 年 积蓄 529.271 房价 1501.18
第 20 年 积蓄 614.661 房价 1651.3
第 21 年 积蓄 712.861 房价 1816.42
第 22 年 积蓄 825.79 房价 1998.07
第 23 年 积蓄 955.658 房价 2197.87
第 24 年 积蓄 1105.01 房价 2417.66
第 25 年 积蓄 1276.76 房价 2659.43
第 26 年 积蓄 1474.27 房价 2925.37
第 27 年 积蓄 1701.41 房价 3217.91
第 28 年 积蓄 1962.62 房价 3539.7
第 29 年 积蓄 2263.02 房价 3893.67
第 30 年 积蓄 2608.47 房价 4283.04
答案为:永远买不起。
每行 3 个整数 $n (5 \leqslant n \leqslant 100)$、整数 $k (3 \leqslant k \leqslant 50)$、整数 $m (0 \leqslant m \leqslant 20)$。
总共不多于 20 行。
对于每一行数据,如果在第 30 年或者之前就能买下这套房子,则输出一个整数 $x$,表示最早需要在第 $x$ 年能买下房子,否则输出 Impossible
。每行的最后有一个换行符。
100 10 30 6 10 15 10 5 10
3 Impossible 23