Python入门习题(69)——OpenJudge百练习题:买房子
OpenJudge百练第4022号习题:买房子
- 题目描述
- 解题思路
- 参考答案
- 测试用例
- 小结
题目描述
来源
OpenJudge网站 – 百练习题集-第4022号习题
要求
总时间限制: 1000ms 内存限制: 65536kB
描述
某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子?(第一年年薪N万,房价200万)
输入
一行,包含两个正整数N(10 <= N <= 50), K(1 <= K <= 20),中间用单个空格隔开。
输出
如果在第20年或者之前就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible。
样例输入
50 10
样例输出
8
解题思路
- 第 i 年,程序员不吃不喝的工资收入是N * i,房子金额变为200 * (1 + K / 100) i-1,i=1, 2, …, 20。
- 题目要求的是满足以下条件的 i:N * i >= 200 * (1 + K / 100) i-1的 i , i <= 20。
参考答案
N, K = [int(s) for s in input().split()]for i in range(1, 21):if N * i >= 200 * (1 + K / 100) ** (i - 1): # **是幂次运算print(i)break #直接跳到for语句之后,不会执行下面的else分支
else:print("Impossible") #循环遍历结束,即i取20并执行循环体后,执行流程走到else分支
测试用例
题目描述给出的测试用例覆盖的是常规情形。
输出Impossible的情形。
样例输入
50 20
样例输出
ImpossibleN=200,第一年就可以买房子。尽管题目说N<=50, 但我们可以拿200来测试下,毕竟容易推算出期望输出。
样例输入
200 10
样例输出
1N=10, K=1,都取的是下界。屌丝买不起房啊…
样例输入
10 1
样例输出
Impossible
小结
- 本题示范了for语句的else分支用法。
- 有了else分支,我们无需在循环之后通过判别循环控制变量 i 的值来决定输出。
Python入门习题(69)——OpenJudge百练习题:买房子相关推荐
- Python入门习题大全——数字 8
Python入门习题大全--索引 编写4个表达式,它们分别使用加法.减法.乘法和除法运算,但结果都是数字8.为使用print语句来显示结果,务必将这些表达式用括号括起来,也就是说,你应该编写4行类似于 ...
- Python入门习题大全——词汇表2
Python入门习题大全--索引 既然你知道了如何遍历字典,现在请整理你为完成上一个例题而编写的代码,将其中的一系列 print 语句替换为一个遍历字典中的键和值的循环.确定该循环正确无误后,再在词汇 ...
- Python入门习题大全——词汇表
Python入门习题大全--索引 Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表. 想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在 ...
- Python入门习题大全——大号T恤
Python入门习题大全--索引 修改函数上一个"T恤"例题中的make_shirt(),使其在默认情况下制作一件印有字样"I lovePython"的大号T恤 ...
- Python入门习题大全——T恤
Python入门习题大全--索引 编写一个名为make_shirt()的函数, 它接受一一个尺码以及要印到T恤上的字样.这个函数应打印一个句子,概要地说明T恤的尺码和字样. 使用位置实参调用这个函数来 ...
- Python入门习题大全——猫和狗
Python入门习题大全--索引 创建两个文件cats.txt 和dogs.txt,在第一个文件中至少存储三只猫的名字,在第二个文件中至少存储三条狗的名字.编写一个程序,尝试读取这些文件,并将其内容打 ...
- Python入门习题大全——人生的不同阶段
Python入门习题大全--索引 设置变量 age 的值,再编写一个 if-else-else 结构,根据 age 的值判断处于人生的哪个阶段. 如果一个人的年龄小于 2 岁,就打印一条消息,指出他是 ...
- Python入门习题大全——检查用户名
Python入门习题大全--索引 按下面的说明编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式. 创建一个至少包含5个用户名的列表,并将其命名为current_users. 再创建一个包含5 ...
- Python入门习题大全——喜欢的水果
Python入门习题大全--索引 创建一个列表,其中包含你喜欢的水果,再编写一系列独立的 if 语句,检查列表中是否包含特定的水果. 将该列表命名为 favorite_fruits,并在其中包含三种水 ...
- Python入门习题大全—— 3 的倍数
Python入门习题大全--索引 创建一个列表,其中包含 3 ~ 30 内能被 3 整除的数字:再使用一个 for 循环将这个列表中的数字都打印出来. # 3 的倍数 san = [value for ...
最新文章
- Mac下导出chrome插件
- 查看运行状态_查看 Linux 系统服务的 5 大方法
- mysql12----explain
- IbatisNet开发使用小结
- bat遍历当前目录下的文件,批量重命名
- python PyQt5 QMainWindow类(Qt主窗口框架,主窗口提供了用于构建应用程序用户界面的框架)
- 《C++ Primer》13.1.2节练习
- 点亮两个发光管用c语言编辑,第二个试验:用单片机点亮一个闪烁的发光管-----51单片机汇编语言试验教程 - CSDN博客...
- 刘强东“撒币”100亿;支付宝违规被罚18万;摩拜产品不合格 | 一周业界事
- 子类重写方法aop切不到_Spring-aop 全面解析(从应用到原理)
- 严蔚敏数据结构课后参考答案
- java怎么实现直方图均衡化_直方图均衡化原理与实现
- 练习:使用Python爬取COVID-19疫情国内当日数据
- 服务器磁盘IO是什么意思?SATA和固态硬盘的性能差异
- 我同学——应聘阿里巴巴之经过
- java基于ssm+vue+elementui楼盘房屋销售系统 前后端分离
- APDL电磁仿真学习中可能会遇到的问题1
- 勿忘2022,迎接2023
- 计算机网络·计算子网地址,子网掩码,广播地址,根据子网掩码求网络地址详解
- Windows XP快捷键大全