首页 > 试题广场 >

买房子

[编程题]买房子
  • 热度指数:7570 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
    某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子(第一年房价200万,收入N万)

输入描述:
    有多行,每行两个整数N(10<=N<=50), K(1<=K<=20)


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

输入

50 10
40 10
40 8

输出

8
Impossible
10
1. 注意一下:今年底房价是200,存款是50
2. 记得用double
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main() {
    int n, k, year; //n-年薪 k-房价涨幅 存款年数
    while (scanf("%d %d", &n, &k) != EOF) {
        double total_save = n, value = 200; //value-房价
        for (year = 1; total_save < value && n > value * k / 100.0 ; year++) {
            total_save += n;
            value *= (1.0 + k / 100.0);
        }
        if (total_save >= value) {
            printf("%d\n", year);
        } else {
            printf("Impossible\n");
        }
    }
}


发表于 2022-03-28 16:52:17 回复(0)

问题信息

难度:
1条回答 7438浏览

热门推荐

通过挑战的用户

查看代码