这题容易犯的错误:
判断质数时容易超时
当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:
sort(reverse = False)函数,可以对列表进行排序。其中有一个参数reverse,默认为False,此时为从小到大排序;当改为reverse =True时,为从大到小进行排序
abs()是取一个数的绝对值
0.0分
2 人评分
C二级辅导-统计字符 (C语言代码)浏览:729 |
C语言训练-阿姆斯特朗数 (C语言代码)浏览:849 |
小明A+B (C语言代码)浏览:1246 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:587 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:660 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:635 |
母牛的故事 (C语言代码)浏览:1427 |
Pascal三角 (C语言代码)浏览:641 |
整除问题 (C语言代码)浏览:518 |
简单的a+b (C语言代码)浏览:531 |