九度OJ 1158:买房子 (基础题)
- 题目描述:
-
某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子(第一年房价200万,收入N万)
- 输入:
-
有多行,每行两个整数N(10<=N<=50), K(1<=K<=20)
- 输出:
-
针对每组数据,如果在第20年或者之前就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible,输出需要换行
- 样例输入:
-
50 10 40 10 40 8
- 样例输出:
-
8 Impossible 10
思路:
好虐心的题,为什么要这么打击程序员。。。
代码:
#include <stdio.h> int main(void) { float n, k, value; int i; while (scanf("%f%f", &n, &k) != EOF) { value = 200; for(i=1; i<=20; i++) { if (i>1) value *= 1+k/100; if (i*n >= value) { printf("%d\n", i); break; } } if (i>20) printf("Impossible\n"); } return 0; } /************************************************************** Problem: 1158 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb ****************************************************************/
编程算法爱好者。