Loading

考研机试 62.买房子

 

时间:2021/03/09

 

一.题目描述

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

输入描述

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

输出描述

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

题目链接

https://www.nowcoder.com/practice/a4b46b53773e4a8db60b5f7629ce03e9?

tpId=40&tqId=21393&rp=1&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking&tab=answerKey

 

二.算法

题解

注意第一年房价为200万,第一年房子不涨价,从第二年开始涨价。

代码

import java.util.Scanner;

public class Main{
    
    public static void main(String[] args){
        //读取输入
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();    //年薪
            int k = in.nextInt();    //增长率
            boolean flag = false;
            for(int i = 1; i <= 21; i++){
                double money = n * i;
                double count = 200 * Math.pow(1 + k * 0.01, i - 1);
                if(money >= count){
                    System.out.println(i);
                    flag = true;
                    break;
                }
            }
            if(!flag){
                System.out.println("Impossible");
            }
        }
    }
}

 

posted @ 2021-03-09 09:54    阅读(68)  评论(0编辑  收藏  举报