九度 Online Judge 算法 刷题 题目1158:买房子

题目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
来源:
2011年北京大学计算机研究生机试真题

code

java 实现

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner shuru = new Scanner(System.in);
        while(shuru.hasNext())
        {
                int N = shuru.nextInt();
                int K = shuru.nextInt();
                int flag = 0;
                for (int i = 0; i<20; i++) {
                    if (N*(i+1) >= 200 * Math.pow(1.0+K/100.0,i)) {
                        System.out.println(i+1);
                        flag = 1;
                        break;
                    }
                }
                if (flag == 0)
                    System.out.printf("Impossible\n");
        }
    }
}

/**************************************************************
    Problem: 1158
    User: langzimaizan
    Language: Java
    Result: Accepted
    Time:90 ms
    Memory:15556 kb
****************************************************************/

你可能感兴趣的:(java,九度)