当前位置: 首页 > news >正文

题解:洛谷 B4552 [GESP202606 一级] 交税

【题目来源】

洛谷:B4552 [GESP202606 一级] 交税 - 洛谷

【题目描述】

根据国家税收相关规定,劳务报酬需要按月预交个税,预交税率如下:

  1. 劳务报酬不超过800 800800的,不需要预交个税;
  2. 劳务报酬超过800 800800的,仅超过800 800800的部分按照20 % 20\%20%(即0.2 0.20.2)税率预交个税(不超过800 800800的部分不需要预交个税);

例如,月劳务报酬为1000.0 1000.01000.0,则按照规则2 22需要预交个税( 1000.0 − 800.0 ) × 20 % = 40.00 (1000.0 - 800.0) \times 20\% = 40.00(1000.0800.0)×20%=40.00

现在给定小杨同学12 1212个月的月度劳务报酬,请帮小杨同学计算他这12 1212个月应预交个税的总和。

【输入】

输入12 1212行,每行一个浮点数,表示小杨同学12 1212个月中每个月的劳务报酬。

每个浮点数恰好有一位小数。

【输出】

输出1 11行,一个浮点数,保留两位小数,表示小杨同学12 1212个月应预交个税的总和。

【输入样例】

932.0 1634.3 1790.4 2172.9 378.1 283.4 2761.9 3583.5 10.1 2324.9 1111.6 3812.3

【输出样例】

2584.76

【核心思想】

  1. 问题分析:给定12 1212个月的劳务报酬,每个月的个税计算规则为分段函数:若报酬x ≤ 800 x \leq 800x800,个税为0 00;若x > 800 x > 800x>800,个税为( x − 800 ) × 0.2 (x - 800) \times 0.2(x800)×0.2。需要累加12 1212个月的个税并保留两位小数输出。本质是简单的分段函数求和。

  2. 算法选择

    • 直接模拟:逐月读取报酬,按规则计算当月个税并累加
  3. 关键步骤

    • 初始化:累计个税a n s = 0 ans = 0ans=0
    • 逐月处理(循环i ii1 1112 1212):
      • 读取当月劳务报酬x xx
      • x > 800 x > 800x>800a n s ← a n s + ( x − 800 ) × 0.2 ans \leftarrow ans + (x - 800) \times 0.2ansans+(x800)×0.2
      • x ≤ 800 x \leq 800x800:不增加(个税为0 00
    • 输出结果:保留两位小数输出a n s ansans
  4. 时间/空间复杂度

    • 时间复杂度:O ( 12 ) = O ( 1 ) O(12) = O(1)O(12)=O(1),固定次数的输入和计算
    • 空间复杂度:O ( 1 ) O(1)O(1),仅使用两个浮点变量
  5. 分段函数模拟的核心思想

    • 阈值判断:以800 800800为分界点,将连续的数值域划分为两个区间,分别对应不同的计算规则
    • 线性累加:每个月的个税计算相互独立,无跨月依赖,因此直接遍历累加即可
    • 浮点精度控制:输入为一位小数,输出要求两位小数,使用double类型配合格式化输出%.2lf即可满足精度要求
    • 适用于规则明确、无状态依赖的简单税务/费用计算问题

【算法标签】

#入门 #模拟

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;doublex,ans;// x: 每个月的劳务报酬; ans: 累计应预交的个税总和intmain(){for(inti=1;i<=12;i++)// 循环处理 12 个月的劳务报酬{cin>>x;// 读入当前月的劳务报酬if(x>800)// 如果劳务报酬超过 800,超过部分需要预交个税ans+=(x-800)*0.2;// 累加超过 800 部分的 20% 税率}printf("%.2lf",ans);// 输出 12 个月预交个税总和,保留两位小数return0;}

【运行结果】

932.0 1634.3 1790.4 2172.9 378.1 283.4 2761.9 3583.5 10.1 2324.9 1111.6 3812.3 2584.76
http://www.jsqmd.com/news/1124095/

相关文章:

  • E-Hentai批量下载终极指南:自动化工具完整教程
  • 如何免费实现视频画质革命:Video2X超分辨率与帧插值完整实战指南
  • GFile代码贡献指南:如何参与开源WebRTC文件传输项目
  • PubMedBERT-base-embeddings:医学文本嵌入模型的终极完整指南
  • nwpu-cram网络性能分析:QoS与拥塞控制终极指南
  • 3步让老旧Windows电脑也能高效运行OCR文字识别软件
  • E-Hentai自动化批量下载器终极指南:解放双手的漫画保存解决方案
  • Flutter_thrio页面通知系统详解:实现三端通信的完整解决方案
  • 如何快速美化Windows系统:开源字体终极解决方案
  • opmsg vs GPG:为什么这个开源加密工具更值得选择?
  • LTC6904与PIC18F26K80实现高精度时序控制方案
  • Python-批量安装依赖
  • 如何实现微信聊天记录永久保存?掌握完整的数据自主管理方案
  • 大模型实战选型指南:基于真实业务场景的横评方法论
  • 5分钟搞懂kube-prod-runtime监控体系:Prometheus与Grafana最佳实践
  • Mermaid Live Editor终极指南:用代码思维高效创建专业图表
  • 腾讯元宝 vs 豆包:AI助手能力边界与微信生态适配指南
  • JHenTai:突破多设备阅读限制的跨平台漫画工具
  • 从网页到设计稿:如何用3分钟将任意网站转换为可编辑的Figma文件
  • 如何用开源AI技术将低清视频无损放大到4K画质?
  • StudioPlugins调试利器:CodeLocator插件快速定位Android代码问题
  • 从零到一:基于YOLOv5s的BDD100K自动驾驶目标检测实战指南
  • FlipperZeroHondaFirmware最佳实践:从入门到专家的完整学习路径
  • Kimi K2.5 vs Claude Code:中文日志结构化提取实战横评
  • ngxtension 国际化与 SVG:构建国际化应用和 SVG 图标的最佳实践
  • Runbook DSL扩展教程:自定义语句和钩子开发指南
  • 紫队演练框架PTEF社区贡献指南:如何参与开源安全框架建设
  • FastAPI-SQLAlchemy源码解析:深入理解其内部工作机制
  • MCP Toolbox:数据库AI助手终极指南,5分钟开启高效数据操作新时代 [特殊字符]
  • 智能文献获取革命:Zotero-SciHub插件如何重塑科研工作流