问题描述   

  小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为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。

  解题代码

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
// TODO Auto-generated method stub
new Main().run();
}
public void run(){
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
int n = t-3500;
int a1 = (int) (1500*0.97);
int a2 = (int) (a1+3000*0.9);
int a3 = (int) (a2+4500*0.8);
int a4 = (int) (a3+26000*0.75);
int a5 = (int) (a4+20000*0.7);
int a6 = (int) (a5+25000*0.65);
int s = 0;
if(n<0){
s = t;
}else if(n<=a1 && n>0){
s = (int) (3500+n/0.97);
}else if(n>a1 && n<=a2){
s = (int) (5000 +(n-a1)/0.9);
}else if(n>a2 && n<=a3){
s = (int) (8000 +(n-a2)/0.8);
}else if(n>a3 && n<=a4){
s = (int) (12500+(n-a3)/0.75);
}else if(n>a4 && n<=a5){
s = (int) (38500+(n-a4)/0.7);
}else if(n>a5 && n<=a6){
s = (int) (58500+(n-a5)/0.65);
}else if(n>a6){
s = (int) (83500+(n-a6)/0.55);
}
System.out.println(s);
}
}

  (该文仅供学习交流,如有更好的解题思路,欢迎与我沟通~)

CCF 201612-2 工资计算 java 解题的更多相关文章

  1. CCF CSP 201612-2 工资计算

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201612-2 工资计算 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所 ...

  2. CCF201612-2 工资计算 java(100分)

    试题编号: 201612-2 试题名称: 工资计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假 ...

  3. 201612-2 工资计算 Java

    思路: 税+税后所得A=税前工资S. 因为工资是整百的数,每次减100来判断.好理解但是超时. import java.util.Scanner; //只有90分,超时了 public class M ...

  4. *CCF 201612-2 工资计算(80)

    试题编号:201612-2 试题名称:工资计算 时间限制:1.0s 内存限制:256.0MB 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的税前工资 ...

  5. CCF 2016-12-1 工资计算

    CCF 2016-12-1 工资计算 题目 问题描述 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的税前工资(扣除五险一金后.未扣税前的工资)为S元,则他应交 ...

  6. 杭电HDOJ--ACM1002(JAVA解题,运用BigInteger)(自定义MBigInteger 简单实现大数处理----完善后可以实现百亿计算器)

    转载声明:原文转自http://www.cnblogs.com/xiezie/p/5501901.html     JAVA解题:   import java.util.*; import java. ...

  7. [POJ 1001] Exponentiation C++解题报告 JAVA解题报告

        Exponentiation Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 126980   Accepted: 30 ...

  8. odoo 人力资源工资计算拓展

    默认情况下 odoo工资条的计算只支持一下几种python变量: # payslip: object containing the payslips# employee: hr.employee ob ...

  9. HR外包系统 - 工资计算-几种常见账单计算规则

    01-正常工资计税 (包括同一月多地计税方式) 02-年终奖计税 (包括可分批发放,但计税总额不变)  按工资 除以月份,看落在那个计税区间,获取税率和扣除数,再用总额*税率-扣除数,要考虑当月工资如 ...

随机推荐

  1. javascript实现简单的轮播图片

    方法一: <script> var curIndex=0;//时间间隔(单位毫秒),每秒钟显示一张,数组共有5张图片放在Photos文件夹下. var timeInterval=1000; ...

  2. Numpy Study 2----* dot multiply区别

    使用numpy时,跟matlab不同: 1.* dot() multiply() 对于array来说,* 和 dot()运算不同 *是每个元素对应相乘 dot()是矩阵乘法 对于matrix来说,* ...

  3. 分页组件 - layui.laypage

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 1028作业:Java语法基础

    //1.输入长与宽计算长方形面积与周长.(用精度类型计算) package com.lovo.J133; import java.util.Scanner; public class Homework ...

  5. aliyun source.list

    电信的网络越来越不靠普.ubuntu环境使用下面的source.list deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted un ...

  6. 通过OCCI连接oracle(C++)

    OCCI介绍 OCCI:Oracle C++调用接口(OCCI),即Oracle的C++API,允许你使用面向对象的特性.本地类.C++语言的方法来访问Oracle数据库. OCCI优势 基于标准C+ ...

  7. Android在代码中使用布局文件中的一个组件

    使用前必须要把组件与其父组件的关系断开,比如有一个组件的名称为scrollChildLayout,则可以使用下面的代码进行分离 ((ViewGroup)scrollChildLayout.getPar ...

  8. PHP分页类,生成分页html字符串

    <?php namespace Common\Common; /** * 该Page类主要有两个方法:showPageString(), showPageStringAsAJAX() * * s ...

  9. [Matlab] 如何在矩阵中查找特定的字符串

    题目 A = {'abcd','efgh','ijkl'; 'bd3','skge','zxe2'}:怎样查找A中字符串的是否含有字符串"bd3",如有返回字符串所在的行号和列号. ...

  10. 计划任务,机器码与注册码,Web服务

    01.计划任务的客户端配置 TScheduleTask 辅助结构内容: TScheduleRecord<ScheduleTask.pas> TScheduleRecord.Schedule ...