点击蓝字 关注我们
今天要做的是来自洛谷网站的P1421 小玉买文具。
https://www.luogu.com.cn/problem/P1421
有账号的可以上去做做。
P1421 小玉买文具
题目描述
班主任给小玉一个任务,到文具店里买尽量多的签字笔。已知一只签字笔的价格是 1 元 9 角,而班主任给小玉的钱是 a 元 b 角,小玉想知道,她最多能买多少只签字笔呢。
输入格式
输入只有一行两个整数,分别表示 a 和 b。
输出格式
输出一行一个整数,表示小玉最多能买多少只签字笔。
输入输出样例
说明/提示
对于全部的测试点,保证 0≤a≤104,0≤b≤9。
解题思路
统一单位思想:全部换算成最小单位(角)简化计算。不够钱就买不了多一支笔,所以本题用的是向下取整,可以用整除//来解决,或者math库中的floor()函数。
读取整数 a(元)、b(角)
将全部钱换算成角:money = a * 10 + b
单价统一为 19 角
使用整数整除算出最多购买数量
输出结果
知识点
字符输入 input() 获取字符串,再用split()进行分割字符串,但要记住得到的都是字符串类型的。由于都是正整数,可以利用map转换格式。
a,b=map(int,input().split())
单位转换:1元=10角
整除//
参考代码及解析
如果你觉得意犹未尽,那就趁热打铁,继续挑战一下吧!
常见的向下取整的场景:
购物、材料裁剪 —— 最多能做出多少成品、资源分配,最多完整分出多少份。
例题1:一共 47 块饼干,每人分 5 块,最多可以分给几个人?
例题2:布料总长 35 米,做一件衣服需要 4 米,最多做几件?
例题3:糖果一袋 7 元,一共有 64 元,最多买几袋?