九度OJ 1158:买房子 (基础题)

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:1801

解决:1096

题目描述:

    某程序员开始工作,年薪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
来源:
2011年北京大学计算机研究生机试真题

思路:

好虐心的题,为什么要这么打击程序员。。。


代码:

#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
****************************************************************/


你可能感兴趣的:(C语言,OJ,九度)