首页 > 其他分享 >UVA12342 Tax Calculator 题解

UVA12342 Tax Calculator 题解

时间:2024-07-09 16:31:06浏览次数:7  
标签:所得税 题解 Calculator 缴纳 UVA12342 2000 times10 180000 300000

题目传送门

题目大意

题目描述

某国所得税计算十分复杂。该国政府指定你制作一个自动计算所得税的程序。以下是该国计算所得税的规则:

  1. 所得税免征额为 180000 180000 180000 元。
  2. 应纳税额中不超过 300000 300000 300000 元的所得额,按 10 % 10\% 10% 的税率缴纳所得税。
  3. 余下应纳税额中不超过 400000 400000 400000 元的所得额,按 15 % 15\% 15% 的税率缴纳所得税。
  4. 余下应纳税额中不超过 300000 300000 300000 元的所得额,按 20 % 20\% 20% 的税率缴纳所得税。
  5. 余下应纳税额按 25 % 25\% 25% 的税率缴纳所得税。
  6. 需要缴纳所得税少于 2000 2000 2000 元(不含 0 0 0 元)的,缴纳所得税 2000 2000 2000 元。
  7. 需要缴纳所得税为小数的,向上取整所得税。
输入格式

输入共 ( T + 1 ) (T+1) (T+1) 行。

第一行,一个整数 T T T,表示需要计算所得税的人的数量。

接下来 T T T 行,每行一个整数 k k k,表示第 i i i 个人的税前收入。

输出格式

输出共 T T T 行。

每行按照 Case i: tax 的格式输出所得税。

样例解释 #1

在输入输出样例 #1 中的第 3 3 3 个示例中:

金额税率税收
180000 180000 180000 0 % 0\% 0% 0 0 0
300000 300000 300000 10 % 10\% 10% 30000 30000 30000
135000 135000 135000 15 % 15\% 15% 20250 20250 20250
总计 50250 50250 50250
数据范围

对于 100 % 100\% 100% 的数据, T ≤ 5000 T\leq 5000 T≤5000, 1 ≤ k ≤ 1 0 9 1\leq k\leq 10^{9} 1≤k≤109。

解题思路

我们设 n i n_i ni​ 为第 i i i 个人的税前收入。

由题意可知:

  1. n i ≤ 1.8 × 1 0 5 n_i\le1.8\times10^5 ni​≤1.8×105 时,第 i i i 个人应缴纳 0 0 0。
  2. 1.8 × 1 0 5 < n i ≤ 2 × 1 0 5 1.8\times10^5<n_i\le2\times10^5 1.8×105<ni​≤2×105 时,第 i i i 个人应缴纳 2000 2000 2000。
  3. 2 × 1 0 5 < n i ≤ 4.8 × 1 0 5 2\times10^5<n_i\le4.8\times10^5 2×105<ni​≤4.8×105 时,第 i i i 个人应缴纳 0.1 × ( n i − 180000 ) 0.1\times(n_i-180000) 0.1×(ni​−180000)。
  4. 4.8 × 1 0 5 < n i ≤ 8.8 × 1 0 5 4.8\times10^5<n_i\le8.8\times10^5 4.8×105<ni​≤8.8×105 时,第 i i i 个人应缴纳 30000 + 0.15 × ( n i − 480000 ) 30000+0.15\times(n_i-480000) 30000+0.15×(ni​−480000)。
  5. 8.8 × 1 0 5 < n i ≤ 1.18 × 1 0 6 8.8\times10^5<n_i\le1.18\times10^6 8.8×105<ni​≤1.18×106 时,第 i i i 个人应缴纳 90000 + 0.2 × ( n i − 880000 ) 90000+0.2\times(n_i-880000) 90000+0.2×(ni​−880000)。
  6. n i > 1.18 × 1 0 6 n_i>1.18\times10^6 ni​>1.18×106 时,第 i i i 个人应缴纳 150000 + 0.25 × ( n i − 1180000 ) 150000+0.25\times(n_i-1180000) 150000+0.25×(ni​−1180000)。

然后,我们就可以模拟此过程。

CODE:

#include <stdio.h>
#include <math.h>
int main() {
	short t;
	scanf("%hd", &t);
	for (int i = 1; i <= t; i++) {
		int n;
		double ans = 0;
		scanf("%d", &n);
		if (n <= 180000)
			ans = 0;
		else if (n <= 200000)
			ans = 2000;
		else if (n <= 480000)
			ans = 0.1 * (n - 180000);
		else if (n <= 880000)
			ans = 30000 + 0.15 * (n - 480000);
		else if (n <= 1180000)
			ans = 90000 + 0.2 * (n - 880000);
		else
			ans = 150000 + 0.25 * (n - 1180000);
		printf("Case %d: %0.lf\n", i, ceil(ans));
	}
	return 0;
}

总结

这题非常简单,按题意模拟即可。

标签:所得税,题解,Calculator,缴纳,UVA12342,2000,times10,180000,300000
From: https://blog.csdn.net/2301_76224755/article/details/140272646

相关文章

  • P10719 的题解
    (一)设\(a_{x,y}\)为从\((1,1)(x,y)\)矩形中的\(1\)的数量。然后通过二位前缀和可以\(O(1)\)算。注意到\(1\len,m\le100\)。先确定矩形右下角,对于左上角,先确定在哪一行,再二分在哪一列。(二)AC代码。#include<bits/stdc++.h>#definepbpush_back#definefifirs......
  • 【Py/Java/C++三种语言OD独家2024D卷真题】20天拿下华为OD笔试之【前缀和/固定滑窗】2
    有LeetCode算法/华为OD考试扣扣交流群可加948025485可上欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【CSDN】否则不通过)文章目录题目描述与示例题目描述输入描述输出描述示例一输入输出说明示例二输入输出说明解题思路贪心思想......
  • zxx题单的题解
    https://www.luogu.com.cn/training/168096CF1359ELemma:\(\forallx\in\mathbb{N},\x\bmoda\bmodb=x\bmodb\bmoda\iffa\midb\(a<b)\)Proof:因为\(a<b\),所以\(x\bmoda\bmodb=x\bmoda\)。设\(x=pb+q\),其中\(0<q<b......
  • PostgreSQL的AutoVacuum原理及autovacuum不工作问题解析
    1、AutoVacuum概述PostgreSQL数据库是有数据清理的,有人工执行清理,也有自动清理,但是这2种的清理方式对性能是有不同的影响,特别是OLTP环境中,每次不管是人工清理还是自动清理deadtuple,都会对数据库的IO有明显的影响,基于PostgreSQL的原理每个表中的行会存在多个版本的数据,为了完成......
  • 2024码蹄杯职高省赛第三场初赛全题解
    其实吧对于码蹄杯省赛的话,第三场是一千五百多人,百分之25的获奖率,然后前四百名左右就可以获奖,根据排行来看大概是六题左右,其中大概就四题要点脑子,其余的基本上属于语法题,也就是13题中如果语法没问题的话,九题是很轻松的,因为都是青铜白银题,语法没问题的话就OK的,然后就是一个P序列,......
  • 题解(2024.7.8贪心)
    1.Teleporters(HardVersion)题意:有n+2个位置:0~n+1,给定n个数\(a_1\)~\(a_n\),有以下操作:向左/右移动一格,代价为1。传送回0位置或者n+1位置,记你当前的位置为i,则代价为\(a_i\)。每个位置只能发动一次传送。求最大传送次数思路:因为每次传送都会回到0/n+1号点,所以,到......
  • 基础算法训练题单之排序(从入门到入土)——题解
    A.P1177【模板】排序三种方法:快速排序,归并排序,STL库的sort函数。法一、三:https://www.cnblogs.com/expect-999/p/17594345.html法二:https://www.cnblogs.com/expect-999/p/17599008.htmlB.P1923【深基9.例4】求第k小的数模板题目,直接对数组进行升序排序,如果数组从......
  • Codeforces Round 953(Div.2) 题解(A-E)
    CodeforcesRound953(Div.2)题解(A-E)A题意Alice有n本书,第一本书有\(a_1\)页,序号为1,第二本书有\(a_2\)页,序号为2,……,第n本书有\(a_n\)页,序号为n。Alice将把所有书分成两堆,并阅读每一堆中序号最大的一本书。Alice喜欢读书,请你告诉她,她最多可以读多少页的书。Solution第......
  • 题解:洛谷 P1890 gcd区间
    题解:洛谷P1890gcd区间标签:线段树,st表,分块,dp题意给定数列\(a\),有\(m\)次询问求区间\([l,r]\)的最大公约数。思路这道题有多种写法,如标签所示。线段树线段树可以维护具有结合性的操作,很明显\(\gcd\)满足。这道题线段树跑的慢是因为无修改操作,自然没有其他\(O(1)......
  • 题解:洛谷 P2678 [NOIP2015 提高组] 跳石头
    题解:洛谷P2678[NOIP2015提高组]跳石头标签:二分,贪心题意给定一个数列,\(a_0=0,a_{N+1}=L\),从其中删除不超过\(M\)个数,使得\(a_i-a_{i-1}\)的最小值最大。思路从最小值最大不难想到二分答案。统计\(a_i-a_j<mid\)的数量\(k\),如果不满足的话说明不删,\(j\getsi\)。......