你没了绝对没了


私信TA

用户名:0209

访问量:3367

签 名:

等  级
排  名 2846
经  验 2128
参赛次数 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 人评分

  评论区

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