L1-051 打折(5分)[java][python]

题目信息

  • 题目 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),仅使用常数个变量

总结

本题是入门级别的模拟题,核心在于:

  1. 正确理解「打 N 折」=「乘以 N×10%」
  2. 掌握格式化输出保留两位小数的方法
相关推荐
小四季豆几秒前
《数据结构与算法》-顺序表:算法落地的第一个线性结构
c语言·数据结构·算法
8Qi88 分钟前
LeetCode 96:不同的二叉搜索树(Unique Binary Search Trees)—— 题解 ✅
算法·leetcode·职场和发展·动态规划
189228048619 分钟前
NV041固态MT29F16T08GSLCEM9-QBES:C
人工智能·算法·microsoft·缓存·性能优化
abcy07121314 分钟前
python flask app.py里的接口放在别的目录下图文教程
python
弹简特20 分钟前
【零基础学Python】08-Python面向对象之封装、多态和函数进阶
开发语言·python
罗超驿22 分钟前
15.LeetCode 30. 串联所有单词的子串(Java):滑动窗口+哈希表详解
算法·leetcode
人道领域23 分钟前
一篇文章解决Codex的安装,实操一遍过
java·开发语言·codex
Marianne Qiqi23 分钟前
非hot100的力扣算法题
数据结构·算法·leetcode
专注VB编程开发20年34 分钟前
工控上位机开发为什么固死.net 4.5.2sdk?适配win7
python·信息可视化·c#
郑州光合科技余经理36 分钟前
海外版外卖系统:如何快速搭建国际化外卖平台
java·开发语言·前端·人工智能·小程序·系统架构·php