你没了绝对没了


私信TA

用户名:0209

访问量:2723

签 名:

等  级
排  名 2809
经  验 2062
参赛次数 0
文章发表 12
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

这题容易犯的错误:

  1. 判断质数时容易超时

  2. 当m为负数时如果使用for循环会报错

参考代码:

n, k = map(int, input().split())
user = list(map(int, input().split()))
user.sort() #对列表进行排序(从小到大)
m = user[-k] - user[k - 1] 
m_t = abs(m) #获取m的绝对值
for i in range(2, int(pow(m_t, 0.5) + 1)): 
    if m_t % i == 0:
        print("NO")
        break
else:
    print("YES") #for-else语句,当if都不成立时,会使用else
print(m)

ps: 

  1. sort(reverse = False)函数,可以对列表进行排序。其中有一个参数reverse,默认为False,此时为从小到大排序;当改为reverse =True时,为从大到小进行排序

  2. abs()是取一个数的绝对值

 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

这个错的
2022-11-22 20:02:27
  • «
  • 1
  • »