考研机试 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"); } } } }
努力,向上,自律