【CSP】【Java】工资计算
问题描述
小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算:
1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元; 2) A中不超过1500元的部分,税率3%;
3) A中超过1500元未超过4500元的部分,税率10%; 4) A中超过4500元未超过9000元的部分,税率20%; 5)
A中超过9000元未超过35000元的部分,税率25%; 6) A中超过35000元未超过55000元的部分,税率30%; 7)
A中超过55000元未超过80000元的部分,税率35%; 8) A中超过80000元的部分,税率45%;
例如,如果小明的税前工资为10000元,则A=10000-3500=6500元,其中不超过1500元部分应缴税1500×3%=45元,超过1500元不超过4500元部分应缴税(4500-1500)×10%=300元,超过4500元部分应缴税(6500-4500)×20%=400元。总共缴税745元,税后所得为9255元。
已知小明这个月税后所得为T元,请问他的税前工资S是多少元。输入格式
输入的第一行包含一个整数T,表示小明的税后所得。所有评测数据保证小明的税前工资为一个整百的数。
输出格式
输出一个整数S,表示小明的税前工资。
样例输入
9255
样例输出
10000
评测用例规模与约定
对于所有评测用例,1 ≤ T ≤ 100000。
这道题可是坑了我个坑呀,都是自己刚开始就没读清楚题目的要求结果就----白打了好长时间。
- 先是没看清已知与所求,结果自己按照顺序思维蹭蹭往下写,繁杂的计算。
- 再是没看清题目的工资都是整百元
之后就思维混乱的,没啥心思再干了,去百度了下各位大神的做法。我其中借鉴了一位大神的做法,思考了片刻之后终于解决。
借鉴网址:https://blog.csdn.net/sunjinshengli/article/details/78820845
思考过程
这个问题并不复杂。简单分析一下:
工资的计算公式如下:
T = S - tax
其中,T为税后工资,S为税前工资,tax为需缴纳的税款,并且tax与S存在函数关系:
tax = f(S)
这个函数就是一个简单的分段函数:几个节点如下表:
先放代码
package _2_08_工资计算;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int T = scanner.nextInt(); //输入之后的工资double S = 0; //之前的工资if(T <= 3500)S = T;else if(T <=4955){S = (T-105)/0.97;}else if(T <=7655){S = (T-455)/0.9;}else if(T <=11255){S = (T-1255)/0.8;}else if(T <=30755){S = (T-1880)/0.75;}else if(T <=44755){S = (T-3805)/0.7;}else if(T <=61005){S = (T-6730)/0.65;}else{S = (T-15080)/0.55;}System.out.println((int)Math.floor(S+0.5));}
}
像代码里的 105 455…我刚开始很迷或不知道怎么计算出来的。然后就举了个栗子进行计算。 结果其实就是一个简单的数学问题,然后把 计算式子化简所得。
例如 : T = S -(S-3500)*0.97 化简,反解S即可。
第二个问题 ——Java的精度问题
这个我受那个博主的启发,但又不同于他,我选择了用 +0.5向下取整的方法解决。
Java除法的解决方案 两种方法
【CSP】【Java】工资计算相关推荐
- ##(C语言) CSP 201612-2 工资计算(打表法)(100分)
试题编号: 201612-2 试题名称: 工资计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的 ...
- 用java计算输入工资计算税收_标准作业
课后作业 第一章 理论: 1.java环境搭建的步骤 2.java语言的简介 3.手写代码实现个人信息的输出(姓名,性别,年龄,家庭地址,爱好,座右铭) 上机: 分别使用记事本和myeclipse编写 ...
- java :工资计算
*工资计算 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的税前工资(扣除五险一金后.未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 1) 个人所 ...
- CCF-CSP -201612-2 工资计算 java 实现
CCFCSP的1-2题很简单.但是这里又在很简单的问题上翻船了.这里记录一下吧! 试题 试题编号: 201612-2 试题名称: 工资计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: ...
- CCF_Java_201612-2_工资计算
CCF_Java_201612-2_工资计算 问题描述 输入格式 输出格式 样例输入 样例输出 评测用例规模与约定 代码(100) 代码(90) 时间限制: 1.0s 内存限制: 256.0MB 问题 ...
- 基于jsp(java)工资管理系统的设计和开发(含源文件)
获取项目源文件,联系Q:1225467431,可指导毕设,课设 论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222 论文是本团队帮同学做过的案例,需 ...
- 小项目:简单Web教师工资计算
目录 题目:实现一个计算教师工资的项目 项目目录结构 题目:实现一个计算教师工资的项目 项目目录结构 页面一:Employee.java package entitylogic;public abs ...
- 广东java工资一般多少_广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少...
广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少 首页 > java > 广东java工资待遇 作者:镀金池 发布时间:2018-12-22 11:20 在 ...
- CCF-CSP 201612-2 工资计算(C++满分代码)
问题描述 试题编号: 201612-2 试题名称: 工资计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后 ...
最新文章
- asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性
- java学习笔记(五)----super用法,final用法,抽象类,接口
- ios 原生骨架动画库
- 白领职场必懂的22条潜规则(转载)
- gcc 与 glibc 的关系 glibc版本查看
- 【学习笔记】mongodb的使用(二)flask项目使用mongodb实现人员管理系统
- 简单的vue入门案例
- MVC的传递数据的方法
- chmod递归授权文件夹(用法)
- 【linux笔记】secureCRT使用
- wifi5 router/ wallys/IPQ4019 IPQ4029 ,802.11AC 2x2 2.4G5G/IPQ5018, 802.11ax,wifi 6e,QCN9074
- kali linux捉肉鸡教程,使用Kali中的Metasploit生成木马控制Windows系统
- 手机号码归属地查询工具的正确使用方法
- 背包问题(Knapsack Problem) ----- 蛮力法
- 拿什么拯救你的硬盘?十大绝招帮你忙
- “带花树开花”算法来解非二分图的最大匹配
- SpringCloud 分布式日志采集方案
- 记一次使用android studio分析app闪退原因的过程
- matplotlib绘制三维图
- PhpSpreadsheet 实现Excel多sheet导出