题目信息
- 题目 ID: L1-051
- 题目类型: 简单模拟
- 分数: 5 分
- 语言: Java / Python
题目描述
去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 × 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。
输入格式
输入在一行中给出商品的原价(不超过 1 万元的正整数)和折扣(为 [1, 9] 区间内的整数),其间以空格分隔。
输出格式
在一行中输出商品的折扣价,保留小数点后 2 位。
样例
输入
988 7
输出
691.60
解题思路
思路分析
本题关键在于理解「打折」与「折扣率」的对应关系:
- 打 7 折 → 折扣率 = 70% = 0.7
- 打 1 折 → 折扣率 = 10% = 0.1
- 打 9 折 → 折扣率 = 90% = 0.9
即:折扣价 = 原价 × 折扣 × 0.1
其中折扣是整数 [1, 9],乘以 0.1 后即为对应的折扣率。
注意事项
- 结果必须保留两位小数 ,即使小数部分为 0 也需要输出(如
691.60) - 使用
printf("%.2f")/print(f"{x:.2f}")格式化即可
代码实现
Java 实现
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int price = sc.nextInt(); // 原价
int discount = sc.nextInt(); // 折扣 [1,9]
double result = price * discount * 0.1;
System.out.printf("%.2f", result);
}
}
Python 实现
python
price, discount = map(int, input().split())
print(f"{price * discount * 0.1:.2f}")
运行验证
样例验证
| 输入 | 折扣率 | 计算 | 输出 |
|---|---|---|---|
988 7 |
0.7 | 988 × 0.7 = 691.6 | 691.60 ✅ |
100 5 |
0.5 | 100 × 0.5 = 50.0 | 50.00 ✅ |
999 9 |
0.9 | 999 × 0.9 = 899.1 | 899.10 ✅ |
复杂度分析
- 时间复杂度: O(1),仅一次乘法和一次输出
- 空间复杂度: O(1),仅使用常数个变量
总结
本题是入门级别的模拟题,核心在于:
- 正确理解「打 N 折」=「乘以 N×10%」
- 掌握格式化输出保留两位小数的方法