• CCF201612-Python题解


    中间数

    原题链接:http://118.190.20.162/view.page?gpid=T52

    试题编号: 201612-1
    试题名称: 中间数
    时间限制: 1.0s
    内存限制: 256.0MB
    问题描述:
    问题描述
      在一个整数序列a1a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。
      给定一个整数序列,请找出这个整数序列的中间数的值。
    输入格式
      输入的第一行包含了一个整数n,表示整数序列中数的个数。
      第二行包含n个正整数,依次表示a1a2, …, an
    输出格式
      如果约定序列的中间数存在,则输出中间数的值,否则输出-1表示不存在中间数。
    样例输入
    6
    2 6 5 6 3 5
    样例输出
    5
    样例说明
      比5小的数有2个,比5大的数也有2个。
    样例输入
    4
    3 4 6 7
    样例输出
    -1
    样例说明
      在序列中的4个数都不满足中间数的定义。
    样例输入
    5
    3 4 6 6 7
    样例输出
    -1
    样例说明
      在序列中的5个数都不满足中间数的定义。
    评测用例规模与约定
      对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ ai ≤ 1000。

    题解:可以用一个记忆list,存储之前遇到的数,速度会快一点,其他就是暴力模拟整个过程(又是暴力,没错,第一题大概都是模拟叭)

     1 n=int(input())
     2 ans=list(map(int, input().split()))
     3 
     4 flag=-1
     5 for i in range(n):
     6     minn=0
     7     maxx=0
     8     for j in range(n):
     9         if i==j:
    10             continue
    11         elif ans[j]<ans[i]:
    12             minn+=1
    13         elif ans[j]>ans[i]:
    14             maxx+=1
    15     if maxx==minn:
    16         flag=ans[i]
    17         break
    18 
    19 print(flag)

    工资计算

    原题链接:http://118.190.20.162/view.page?gpid=T51

    试题编号: 201612-2
    试题名称: 工资计算
    时间限制: 1.0s
    内存限制: 256.0MB
    问题描述:
    问题描述
      小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为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。

    题解:这里主要注意一下range的范围

              税前工资超过税后工资时,但是一定不会超过税前的两倍(所有的段按45%来算就是最大税钱)

    Python中 return 语句的函数定义,Python 都会在末尾加上 return None,使用不带值的 return 语句(也就是只有 return 关键字本身),那么就返回 None。

     1 T=int(input())
     2 
     3 def True_S(i,T):
     4     S=i
     5     A=S-3500
     6     tax=0
     7     if A<=0:
     8         return S
     9     elif A<=1500:
    10         tax=A*0.03
    11     elif A<=4500:
    12         tax=45+(A-1500)*0.1
    13     elif A<=9000:
    14         tax=45+300+(A-4500)*0.2
    15     elif A<=35000:
    16         tax=45+300+(9000-4500)*0.2+(A-9000)*0.25
    17     elif A<55000:
    18         tax=45+300+(9000-4500)*0.2+(35000-9000)*0.25+(A-35000)*0.3
    19     elif A<=80000:
    20         tax=45+300+(9000-4500)*0.2+(35000-9000)*0.25+(55000-35000)*0.3+(A-55000)*0.35
    21     elif A>80000:
    22         tax=45+300+(9000-4500)*0.2+(35000-9000)*0.25+(55000-35000)*0.3+(80000-55000)*0.35+(A-80000)*0.45
    23 
    24     if S-tax==T:
    25         return S
    26     
    27     
    28 for i in range((T//100)*100,(T//100)*100*2,100):
    29     S=True_S(i,T)
    30     if S!=None:
    31         break
    32 print(S)
    33     

     

    参考链接:

    http://c.biancheng.net/view/5659.html

  • 相关阅读:
    PHP登入
    PHP注册
    PHP数据访问
    php实现人员的权限管理
    PHP实现简单的评论与回复功能还有删除信息
    php文件的管理
    文件的操作
    文件上传及预览
    ajax分页
    三级联动
  • 原文地址:https://www.cnblogs.com/z-712/p/13609971.html
Copyright © 2020-2023  润新知